/*! For license information please see LunarFullCalendar.min.js.LICENSE */
!function (t, e) {
    "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define("LunarFullCalendar", [], e) : "object" == typeof exports ? exports.LunarFullCalendar = e() : t.LunarFullCalendar = e()
}("undefined" != typeof self ? self : this, (function () {
    return function (t) {
        var e = {};

        function n(r) {
            if (e[r]) return e[r].exports;
            var i = e[r] = {i: r, l: !1, exports: {}};
            return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports
        }

        return n.m = t, n.c = e, n.d = function (t, e, r) {
            n.o(t, e) || Object.defineProperty(t, e, {enumerable: !0, get: r})
        }, n.r = function (t) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(t, "__esModule", {value: !0})
        }, n.t = function (t, e) {
            if (1 & e && (t = n(t)), 8 & e) return t;
            if (4 & e && "object" == typeof t && t && t.__esModule) return t;
            var r = Object.create(null);
            if (n.r(r), Object.defineProperty(r, "default", {
                enumerable: !0,
                value: t
            }), 2 & e && "string" != typeof t) for (var i in t) n.d(r, i, function (e) {
                return t[e]
            }.bind(null, i));
            return r
        }, n.n = function (t) {
            var e = t && t.__esModule ? function () {
                return t.default
            } : function () {
                return t
            };
            return n.d(e, "a", e), e
        }, n.o = function (t, e) {
            return Object.prototype.hasOwnProperty.call(t, e)
        }, n.p = "/", n(n.s = 8)
    }([function (t, e, n) {
        "use strict";
        n.r(e);
        var r = n(1), i = n.n(r);
        for (var o in r) "default" !== o && function (t) {
            n.d(e, t, (function () {
                return r[t]
            }))
        }(o);
        e.default = i.a
    }, function (t, e, n) {
        "use strict";
        Object.defineProperty(e, "__esModule", {value: !0}), n(11);
        var r = n(19), i = n(3);
        e.default = {
            name: "LunarFullCalendar", props: {
                events: {
                    default: function () {
                        return []
                    }
                }, eventSources: {
                    default: function () {
                        return []
                    }
                }, editable: {
                    default: function () {
                        return !0
                    }
                }, selectable: {
                    default: function () {
                        return !0
                    }
                }, selectHelper: {
                    default: function () {
                        return !0
                    }
                }, header: {
                    default: function () {
                        return {left: "prev,next today", center: "title", right: "month,agendaWeek,agendaDay"}
                    }
                }, defaultView: {
                    default: function () {
                        return "agendaWeek"
                    }
                }, sync: {
                    default: function () {
                        return !1
                    }
                }, config: {
                    type: Object, default: function () {
                        return {}
                    }
                }
            }, computed: {
                defaultConfig: function () {
                    var t = i(this.$el), e = this;
                    return {
                        header: this.header,
                        defaultView: this.defaultView,
                        editable: this.editable,
                        selectable: this.selectable,
                        selectHelper: this.selectHelper,
                        aspectRatio: 2,
                        timeFormat: "HH:mm",
                        events: this.events,
                        eventSources: this.eventSources,
                        eventRender: function () {
                            this.sync && (e.events = t.fullCalendar("clientEvents"));
                            for (var n = arguments.length, r = Array(n), i = 0; i < n; i++) r[i] = arguments[i];
                            e.$emit.apply(e, ["event-render"].concat(r))
                        },
                        eventDestroy: function (n) {
                            this.sync && (e.events = t.fullCalendar("clientEvents"))
                        },
                        eventClick: function () {
                            for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                            e.$emit.apply(e, ["event-selected"].concat(n))
                        },
                        eventDrop: function () {
                            for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                            e.$emit.apply(e, ["event-drop"].concat(n))
                        },
                        eventReceive: function () {
                            for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                            e.$emit.apply(e, ["event-receive"].concat(n))
                        },
                        eventResize: function () {
                            for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                            e.$emit.apply(e, ["event-resize"].concat(n))
                        },
                        dayClick: function () {
                            for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                            e.$emit.apply(e, ["day-click"].concat(n))
                        },
                        select: function (t, n, r, i, o) {
                            e.$emit("event-created", {
                                start: t,
                                end: n,
                                allDay: !t.hasTime() && !n.hasTime(),
                                view: i,
                                resource: o
                            })
                        }
                    }
                }
            }, mounted: function () {
                var t = this, e = i(this.$el);
                this.$on("remove-event", (function (e) {
                    e && e.hasOwnProperty("id") ? i(t.$el).fullCalendar("removeEvents", e.id) : i(t.$el).fullCalendar("removeEvents", e)
                })), this.$on("rerender-events", (function () {
                    i(t.$el).fullCalendar("rerenderEvents")
                })), this.$on("refetch-events", (function () {
                    i(t.$el).fullCalendar("refetchEvents")
                })), this.$on("render-event", (function (e) {
                    i(t.$el).fullCalendar("renderEvent", e)
                })), this.$on("reload-events", (function () {
                    i(t.$el).fullCalendar("removeEvents"), i(t.$el).fullCalendar("addEventSource", t.events)
                })), this.$on("rebuild-sources", (function () {
                    i(t.$el).fullCalendar("removeEventSources"), t.eventSources.map((function (e) {
                        i(t.$el).fullCalendar("addEventSource", e)
                    }))
                })), e.fullCalendar(r(this.config, this.defaultConfig))
            }, methods: {
                fireMethod: function () {
                    var t;
                    return (t = i(this.$el)).fullCalendar.apply(t, arguments)
                }
            }, watch: {
                events: {
                    deep: !0, handler: function (t) {
                        i(this.$el).fullCalendar("removeEvents"), i(this.$el).fullCalendar("addEventSource", this.events)
                    }
                }, eventSources: {
                    deep: !0, handler: function (t) {
                        this.$emit("rebuild-sources")
                    }
                }
            }, beforeDestroy: function () {
                this.$off("remove-event"), this.$off("rerender-events"), this.$off("refetch-events"), this.$off("render-event"), this.$off("reload-events"), this.$off("rebuild-sources")
            }
        }
    }, function (t, e, n) {
        var r = n(21);
        "string" == typeof r && (r = [[t.i, r, ""]]);
        var i = {insert: "head", singleton: !1};
        n(23)(r, i);
        r.locals && (t.exports = r.locals)
    }, function (t, e) {
        t.exports = require("jquery")
    }, function (t, e, n) {
        "use strict";
        var r = function () {
            var t = this.$createElement;
            return (this._self._c || t)("div", {ref: "calendar", attrs: {id: "calendar"}})
        }, i = [];
        r._withStripped = !0, n.d(e, "a", (function () {
            return r
        })), n.d(e, "b", (function () {
            return i
        }))
    }, function (t, e) {
        t.exports = require("moment")
    }, function (t, e, n) {
        "use strict";
        t.exports = function (t) {
            var e = [];
            return e.toString = function () {
                return this.map((function (e) {
                    var n = function (t, e) {
                        var n = t[1] || "", r = t[3];
                        if (!r) return n;
                        if (e && "function" == typeof btoa) {
                            var i = (s = r, a = btoa(unescape(encodeURIComponent(JSON.stringify(s)))), l = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a), "/*# ".concat(l, " */")),
                                o = r.sources.map((function (t) {
                                    return "/*# sourceURL=".concat(r.sourceRoot).concat(t, " */")
                                }));
                            return [n].concat(o).concat([i]).join("\n")
                        }
                        var s, a, l;
                        return [n].join("\n")
                    }(e, t);
                    return e[2] ? "@media ".concat(e[2], "{").concat(n, "}") : n
                })).join("")
            }, e.i = function (t, n) {
                "string" == typeof t && (t = [[null, t, ""]]);
                for (var r = {}, i = 0; i < this.length; i++) {
                    var o = this[i][0];
                    null != o && (r[o] = !0)
                }
                for (var s = 0; s < t.length; s++) {
                    var a = t[s];
                    null != a[0] && r[a[0]] || (n && !a[2] ? a[2] = n : n && (a[2] = "(".concat(a[2], ") and (").concat(n, ")")), e.push(a))
                }
            }, e
        }
    }, function (t, e, n) {
        "use strict";

        function r(t, e, n, r, i, o, s, a) {
            var l, c = "function" == typeof t ? t.options : t;
            if (e && (c.render = e, c.staticRenderFns = n, c._compiled = !0), r && (c.functional = !0), o && (c._scopeId = "data-v-" + o), s ? (l = function (t) {
                (t = t || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t = __VUE_SSR_CONTEXT__), i && i.call(this, t), t && t._registeredComponents && t._registeredComponents.add(s)
            }, c._ssrRegister = l) : i && (l = a ? function () {
                i.call(this, this.$root.$options.shadowRoot)
            } : i), l) if (c.functional) {
                c._injectStyles = l;
                var d = c.render;
                c.render = function (t, e) {
                    return l.call(e), d(t, e)
                }
            } else {
                var u = c.beforeCreate;
                c.beforeCreate = u ? [].concat(u, l) : [l]
            }
            return {exports: t, options: c}
        }

        n.d(e, "a", (function () {
            return r
        }))
    }, function (t, e, n) {
        t.exports = n(9)
    }, function (t, e, n) {
        "use strict";
        var r, i = n(10), o = (r = i) && r.__esModule ? r : {default: r};
        t.exports = {
            install: function (t) {
                t.component("lunar-full-calendar", o.default)
            }, LunarFullCalendar: o.default
        }, t.exports.default = t.exports
    }, function (t, e, n) {
        "use strict";
        n.r(e);
        var r = n(4), i = n(0);
        for (var o in i) "default" !== o && function (t) {
            n.d(e, t, (function () {
                return i[t]
            }))
        }(o);
        n(20);
        var s = n(7), a = Object(s.a)(i.default, r.a, r.b, !1, null, null, null);
        a.options.__file = "components/LunarFullCalendar/LunarFullCalendar.vue", e.default = a.exports
    }, function (t, e, n) {
        "use strict";
        (function (t) {
            var r, i, o, s, a = f(n(13)), l = f(n(14)), c = f(n(15)), d = f(n(16)), u = f(n(17)), h = f(n(18));

            function f(t) {
                return t && t.__esModule ? t : {default: t}
            }

            !function () {
                var t = {
                    digitCN: ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"],
                    heavenlyStems: ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"],
                    earthlyBranches: ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"],
                    chineseZodiac: ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"],
                    term: ["冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪"],
                    monthCn: ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"],
                    dateCn: ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]
                };

                function e(e) {
                    this.oDate = e, this.julianDay = i.fromDate(this.oDate), this.cnDay = this.oDate.getDay() ? t.digitCN[this.oDate.getDay()] : "日";
                    for (var o, s = this.julianDay - i.JD2000, a = r.getTerms(s), l = n.getNewMoons(a), c = Math.round(s - l[0].JD), d = 0; d < l.length; d++) {
                        if (c < (o = l[d]).days) {
                            this.isBigMonth = 30 == o.days, this.isLeap = o.isLeap, this.lMonth = o.name, this.lNextMonth = o.nextName, this.lDate = t.dateCn[c], this.dateIndex = c;
                            break
                        }
                        c -= o.days
                    }
                    s = Math.round(s), this.lYear = Math.floor((a[3].JD + (s < a[3].JD ? -365 : 0) + 5844 - 35) / 365.2422 + .5);
                    var u = l[l.zyIndex].JD;
                    u -= s < u ? 365 : 0, u += 5810, this.sYear = Math.floor(u / 365.2422 + .5), this.hYear = this.sYear + 1984 + 2698;
                    u = a.hash[s];
                    this.term = u ? u.name : "";
                    u = this.lYear + 6e3;
                    this.animal = t.chineseZodiac[u % 12], this.gzYear = t.heavenlyStems[u % 10] + t.earthlyBranches[u % 12], (u = Math.floor((s - a[0].JD) / 30.43685)) < 12 && s >= a[2 * u + 1].JD && u++, u += 12 * Math.floor((a[12].JD + 390) / 365.2422) + 9e5, this.gzMonth = t.heavenlyStems[u % 10] + t.earthlyBranches[u % 12];
                    u = s - 6 + 9e6;
                    this.gzDate = t.heavenlyStems[u % 10] + t.earthlyBranches[u % 12], this.gzChrono = t.earthlyBranches[Math.floor((this.oDate.getHours() + 1) / 2)] || "子"
                }

                var n = {
                        correction: g("EqoFscDcrFpmEsF1DfFideFelFpFfFfFiaipqti3ksttikptikqckstekqttgkqttgkqteksttikptikq1fjstgjqttjkqttgkqtekstfkptikq1tijstgjiFkirFsAeACoFsiDaDiADc3AFbBfgdfikijFifegF3FhaikgFag3E1btaieeibggiffdeigFfqDfaiBkF3kEaikhkigeidhhdiegcFfakF3ggkidbiaedksaFffckekidhhdhdikcikiakicjF3deedFhFccgicdekgiFbiaikcfi3kbFibefgEgFdcFkFeFkdcfkF3kfkcickEiFkDacFiEfbiaejcFfffkhkdgkaiei3ehigikhdFikfckF3dhhdikcfgjikhfjicjicgiehdikcikggcifgiejF3jkieFhegikggcikFegiegkfjebhigikggcikdgkaFkijcfkcikfkcifikiggkaeeigefkcdfcfkhkdgkegieidhijcFfakhfgeidieidiegikhfkfckfcjbdehdikggikgkfkicjicjF3dbidikFiggcifgiejkiegkigcdiegfggcikdbgfgefjF3kfegikggcikdgFkeeijcfkcikfkekcikdgkabhkFikaffcfkhkdgkegbiaekfkiakicjhfgqdq1fkiakgkfkhfkfcjiekgFebicggbedF3jikejbbbiakgbgkacgiejkijjgigfiakggfggcibFifjefjF3kfekdgjcibFeFkijcfkfhkfkeaieigekgbhkfikidfcjeaibgekgdkiffiffkiakF3jhbakgdki3dj3ikfkicjicjieeFkgdkicggkighdF3jfgkgfgbdkicggfggkidFkiekgijkeigfiskiggfaidheigF3jekijcikickiggkidhhdbgcfkFikikhkigeidieFikggikhkffaffijhidhhakgdkhkijF3kiakF3kfheakgdkifiggkigicjiejkieedikgdfcggkigieeiejfgkgkigbgikicggkiaideeijkefjeijikhkiggkiaidheigcikaikffikijgkiahi3hhdikgjfifaakekighie3hiaikggikhkffakicjhiahaikggikhkijF3kfejfeFhidikggiffiggkigicjiekgieeigikggiffiggkidheigkgfjkeigiegikifiggkidhedeijcfkFikikhkiggkidhh3ehigcikaffkhkiggkidhh3hhigikekfiFkFikcidhh3hitcikggikhkfkicjicghiediaikggikhkijbjfejfeFhaikggifikiggkigiejkikgkgieeigikggiffiggkigieeigekijcijikggifikiggkideedeijkefkfckikhkiggkidhh3ehijcikaffkhkiggkidhh3hhigikhkikFikfckcidhh3hiaikgjikhfjicjicgiehdikcikggifikigiejfejkieFhegikggifikiggfghigkfjeijkhigikggifikiggkigieeijcijcikfksikifikiggkidehdeijcfdckikhkiggkhghh3ehijikifffffkhsFngErD3pAfBoDd3BlEtFqA1AqoEpDqElAEsEeB1BmADlDkqBtC3FnEpDqnEmFsFsAFnllBbFmDsDiCtDmAB1BmtCgpEplCpAEiBiEoFqFtEqsDcCnFtADnFlEgdkEgmEtEsCtDmADqFtAFrAtEcCqAE3BoFqC3F3DrFtBmFtAC1ACnFaoCgADcADcCcFfoFtDlAFgmFqBq1bpEoAEmkqnEeCtAE3bAEqgDfFfCrgEcBrACfAAABqAAB3AAClEnFeCtCgAADqDoBmtAAACbFiAAADsEtBqAB1FsDqpFqEmFsCeDtFlCeDtoEpClEqAAFrAFoCgFmFsFqEnAEcCqFeCtFtEnAEeFtAAEkFnErAABbFkADnAAeCtFeAfBoAEpFtAABtFqAApDcCGJ"),
                        calcForLow: function (t) {
                            var e = 7771.37714500204, n = (t + 1.08472) / e;
                            return 36525 * (n -= (-331e-7 * n * n + .10976 * Math.cos(.785 + 8328.6914 * n) + .02224 * Math.cos(.187 + 7214.0629 * n) - .03342 * Math.cos(4.669 + 628.3076 * n)) / e + (32 * (n + 1.8) * (n + 1.8) - 20) / 86400 / 36525) + 8 / 24
                        },
                        calcForHigh: function (t) {
                            var e = 36525 * p.MS_aLon_t2(t), n = ((e = e - h(e) + 8 / 24) + .5) % 1 * 86400;
                            return (n < 1800 || n > 84600) && (e = 36525 * p.MS_aLon_t(t) - h(e) + 8 / 24), e
                        },
                        cache: {},
                        getNewMoons: function (e) {
                            var r = e[0].JD, i = n.calc(r), o = [];
                            if (i > r && (i -= 29.53), n.cache[i]) o = n.cache[i]; else {
                                for (var s = 0; s < 15; s++) o.push({
                                    JD: n.calc(i + 29.5306 * s),
                                    index: s
                                }), s && (o[s - 1].days = o[s].JD - o[s - 1].JD);
                                if (o[13].JD <= e[24].JD) {
                                    for (s = 1; o[s + 1].JD > e[2 * s].JD && s < 13; s++) ;
                                    for (o[s].isLeap = !0; s < 14; s++) o[s].index--
                                }
                                for (s = 0; s < 14; s++) o[s].name = (o[s].isLeap ? "闰" : "") + t.monthCn[o[s].index % 12], o[s].nextName = (o[s + 1].isLeap ? "闰" : "") + t.monthCn[o[s + 1].index % 12], 2 == o[s].index && (o.zyIndex = s);
                                n.cache[i] = o
                            }
                            return o
                        },
                        calc: function (t) {
                            var e;
                            return (t += i.JD2000) >= 2436935 ? Math.floor(this.calcForHigh(Math.floor((t + 14 - 2451551) / 29.5306) * Math.PI * 2) + .5) : t >= 1947168 && t < 2436935 ? Math.floor(this.calcForLow(Math.floor((t + 14 - 2451551) / 29.5306) * Math.PI * 2) + .5) + ((e = this.correction.substr(Math.floor((t - 1947168) / 29.5306), 1) - 0) ? e - 2 : e) : void 0
                        }
                    }, r = {
                        correction: g("FrcFs11AFsckF1tsDtFqEtF3posFdFgiFseFtmelpsEfhkF1anmelpFlF3ikrotcnEqEq1FfqmcDsrFor11FgFrcgDscFs11FgEeFtE1sfFs11sCoEsaF1tsD3FpeE1eFsssEciFsFnmelpFcFhkF1tcnEqEpFgkrotcnEqrEtFermcDsrE111FgBmcmr11DaEfnaF111sD3FpeForeF1tssEfiFpEoeFssD3iFstEqFppDgFstcnEqEpFg33FscnEqrAoAF1ClAEsDmDtCtBaDlAFbAEpAAAAAD1FgBiBqoBbnBaBoAAAAAAAEgDqAdBqAFrBaBoACdAAf3AACgAAAeBbCamDgEifAE1AABa3C3BgFdiAAACoCeE3ADiEifDaAEqAAFe3AcFbcAAAAAF3iFaAAACpACmFmAAAAAAAACrDaAAADG0"),
                        calcForLow: function (t) {
                            var e, n = 628.3319653318;
                            return e = (t - 4.895062166) / n, e -= (53 * e * e + 334116 * Math.cos(4.67 + 628.307585 * e) + 2061 * Math.cos(2.678 + 628.3076 * e) * e) / n / 1e7, 36525 * (e -= ((48950621.66 + 6283319653.318 * e + 53 * e * e + 334166 * Math.cos(4.669257 + 628.307585 * e) + 3489 * Math.cos(4.6261 + 1256.61517 * e) + 2060.6 * Math.cos(2.67823 + 628.307585 * e) * e - 994 - 834 * Math.sin(2.1824 - 33.75705 * e)) / 1e7 - t) / 628.332 + (32 * (e + 1.8) * (e + 1.8) - 20) / 86400 / 36525) + 8 / 24
                        },
                        getNearestWinter: function (t) {
                            var e = 365.2422 * Math.floor((t - 355 + 183) / 365.2422) + 355;
                            return r.calc(e) > t && (e -= 365.2422), e
                        },
                        cache: {},
                        getTerms: function (e) {
                            var n = r.getNearestWinter(e), i = [];
                            if (r.cache[n]) i = r.cache[n]; else {
                                i.hash = {};
                                for (var o, s = 0; s < 25; s++) o = {
                                    JD: r.calc(n + 15.2184 * s),
                                    name: t.term[s % 24]
                                }, i.push(o), i.hash[o.JD] = o;
                                r.cache[n] = i
                            }
                            return i
                        },
                        calcForHigh: function (t) {
                            var e = 36525 * p.S_aLon_t2(t), n = ((e = e - h(e) + 8 / 24) + .5) % 1 * 86400;
                            return (n < 1200 || n > 85200) && (e = 36525 * p.S_aLon_t(t) - h(e) + 8 / 24), e
                        },
                        calc: function (t) {
                            var e;
                            return (t += i.JD2000) >= 2436935 ? Math.floor(this.calcForHigh(Math.floor((t + 7 - 2451259) / 365.2422 * 24) * Math.PI / 12) + .5) : t >= 2322147.76 && t < 2436935 ? Math.floor(this.calcForLow(Math.floor((t + 7 - 2451259) / 365.2422 * 24) * Math.PI / 12) + .5) + ((e = this.correction.substr(Math.floor((t - 2322147.76) / 365.2422 * 24), 1) - 0) ? e - 2 : e) : void 0
                        }
                    }, i = {
                        JD2000: 2451545, fromDate: function (t) {
                            var e = t.getFullYear(), n = t.getMonth() + 1,
                                r = t.getDate() + ((t.getSeconds() / 60 + t.getMinutes()) / 60 + t.getHours()) / 24,
                                i = 372 * e + 31 * n + Math.floor(r) >= 588829, o = 0;
                            return n <= 2 && (n += 12, e -= 1), i && (o = 2 - (o = Math.floor(e / 100)) + Math.floor(o / 4)), Math.floor(365.25 * (e + 4716)) + Math.floor(30.6001 * (n + 1)) + r + o - 1524.5
                        }
                    },
                    o = [-.08631, 39e-5, -8e-5, -.07447, 6e-5, 17e-5, -.07135, -26e-5, -.00176, -.20239, .00273, -.00347, -.25486, .00276, .42926, .24588, .00345, -14.46266, -.95116, .02481, 58.30651],
                    s = new Array(new Array(1e10, 20, 578, 920, 1100, 1124, 1136, 1148, 1217, 1226, 1229, 1229, 1229, 1229, 1937, 2363, 2618, 2633, 2660, 2666, 17534704567, 0, 0, 334165646, 4.669256804, 6283.075849991, 3489428, 4.6261024, 12566.1517, 349706, 2.744118, 5753.384885, 341757, 2.828866, 3.523118, 313590, 3.62767, 77713.771468, 267622, 4.418084, 7860.419392, 234269, 6.135162, 3930.209696, 132429, .742464, 11506.76977, 127317, 2.037097, 529.690965, 119917, 1.109629, 1577.343542, 99025, 5.23268, 5884.92685, 90186, 2.04505, 26.29832, 85722, 3.50849, 398.149, 77979, 1.17883, 5223.69392, 75314, 2.53339, 5507.55324, 50526, 4.58293, 18849.22755, 49238, 4.20507, 775.52261, 35666, 2.91954, .06731, 31709, 5.84902, 11790.62909, 28413, 1.89869, 796.29801, 27104, .31489, 10977.0788, 24281, .34481, 5486.77784, 20616, 4.80647, 2544.31442, 20539, 1.86948, 5573.1428, 20226, 2.45768, 6069.77675, 15552, .83306, 213.2991, 13221, 3.41118, 2942.46342, 12618, 1.08303, 20.7754, 11513, .64545, .98032, 10285, .636, 4694.00295, 10190, .97569, 15720.83878, 10172, 4.2668, 7.11355, 9921, 6.2099, 2146.1654, 9761, .681, 155.4204, 8580, 5.9832, 161000.6857, 8513, 1.2987, 6275.9623, 8471, 3.6708, 71430.6956, 7964, 1.8079, 17260.1547, 7876, 3.037, 12036.4607, 7465, 1.7551, 5088.6288, 7387, 3.5032, 3154.6871, 7355, 4.6793, 801.8209, 6963, .833, 9437.7629, 6245, 3.9776, 8827.3903, 6115, 1.8184, 7084.8968, 5696, 2.7843, 6286.599, 5612, 4.3869, 14143.4952, 5558, 3.4701, 6279.5527, 5199, .1891, 12139.5535, 5161, 1.3328, 1748.0164, 5115, .2831, 5856.4777, 4900, .4874, 1194.447, 4104, 5.3682, 8429.2413, 4094, 2.3985, 19651.0485, 3920, 6.1683, 10447.3878, 3677, 6.0413, 10213.2855, 3660, 2.5696, 1059.3819, 3595, 1.7088, 2352.8662, 3557, 1.776, 6812.7668, 3329, .5931, 17789.8456, 3041, .4429, 83996.8473, 3005, 2.7398, 1349.8674, 2535, 3.1647, 4690.4798, 2474, .2148, 3.5904, 2366, .4847, 8031.0923, 2357, 2.0653, 3340.6124, 2282, 5.222, 4705.7323, 2189, 5.5559, 553.5694, 2142, 1.4256, 16730.4637, 2109, 4.1483, 951.7184, 2030, .3713, 283.8593, 1992, 5.2221, 12168.0027, 1986, 5.7747, 6309.3742, 1912, 3.8222, 23581.2582, 1889, 5.3863, 149854.4001, 1790, 2.2149, 13367.9726, 1748, 4.5605, 135.0651, 1622, 5.9884, 11769.8537, 1508, 4.1957, 6256.7775, 1442, 4.1932, 242.7286, 1435, 3.7236, 38.0277, 1397, 4.4014, 6681.2249, 1362, 1.8893, 7632.9433, 1250, 1.1305, 5.5229, 1205, 2.6223, 955.5997, 1200, 1.0035, 632.7837, 1129, .1774, 4164.312, 1083, .3273, 103.0928, 1052, .9387, 11926.2544, 1050, 5.3591, 1592.596, 1033, 6.1998, 6438.4962, 1001, 6.0291, 5746.2713, 980, .999, 11371.705, 980, 5.244, 27511.468, 938, 2.624, 5760.498, 923, .483, 522.577, 922, 4.571, 4292.331, 905, 5.337, 6386.169, 862, 4.165, 7058.598, 841, 3.299, 7234.794, 836, 4.539, 25132.303, 813, 6.112, 4732.031, 812, 6.271, 426.598, 801, 5.821, 28.449, 787, .996, 5643.179, 776, 2.957, 23013.54, 769, 3.121, 7238.676, 758, 3.974, 11499.656, 735, 4.386, 316.392, 731, .607, 11513.883, 719, 3.998, 74.782, 706, .323, 263.084, 676, 5.911, 90955.552, 663, 3.665, 17298.182, 653, 5.791, 18073.705, 630, 4.717, 6836.645, 615, 1.458, 233141.314, 612, 1.075, 19804.827, 596, 3.321, 6283.009, 596, 2.876, 6283.143, 555, 2.452, 12352.853, 541, 5.392, 419.485, 531, .382, 31441.678, 519, 4.065, 6208.294, 513, 2.361, 10973.556, 494, 5.737, 9917.697, 450, 3.272, 11015.106, 449, 3.653, 206.186, 447, 2.064, 7079.374, 435, 4.423, 5216.58, 421, 1.906, 245.832, 413, .921, 3738.761, 402, .84, 20.355, 387, 1.826, 11856.219, 379, 2.344, 3.881, 374, 2.954, 3128.389, 370, 5.031, 536.805, 365, 1.018, 16200.773, 365, 1.083, 88860.057, 352, 5.978, 3894.182, 352, 2.056, 244287.6, 351, 3.713, 6290.189, 340, 1.106, 14712.317, 339, .978, 8635.942, 339, 3.202, 5120.601, 333, .837, 6496.375, 325, 3.479, 6133.513, 316, 5.089, 21228.392, 316, 1.328, 10873.986, 309, 3.646, 10.637, 303, 1.802, 35371.887, 296, 3.397, 9225.539, 288, 6.026, 154717.61, 281, 2.585, 14314.168, 262, 3.856, 266.607, 262, 2.579, 22483.849, 257, 1.561, 23543.231, 255, 3.949, 1990.745, 251, 3.744, 10575.407, 240, 1.161, 10984.192, 238, .106, 7.046, 236, 4.272, 6040.347, 234, 3.577, 10969.965, 211, 3.714, 65147.62, 210, .754, 13521.751, 207, 4.228, 5650.292, 202, .814, 170.673, 201, 4.629, 6037.244, 200, .381, 6172.87, 199, 3.933, 6206.81, 199, 5.197, 6262.3, 197, 1.046, 18209.33, 195, 1.07, 5230.807, 195, 4.869, 36.028, 194, 4.313, 6244.943, 192, 1.229, 709.933, 192, 5.595, 6282.096, 192, .602, 6284.056, 189, 3.744, 23.878, 188, 1.904, 15.252, 188, .867, 22003.915, 182, 3.681, 15110.466, 181, .491, 1.484, 179, 3.222, 39302.097, 179, 1.259, 12559.038, 62833196674749, 0, 0, 20605886, 2.67823456, 6283.07584999, 430343, 2.635127, 12566.1517, 42526, 1.59047, 3.52312, 11926, 5.79557, 26.29832, 10898, 2.96618, 1577.34354, 9348, 2.5921, 18849.2275, 7212, 1.1385, 529.691, 6777, 1.8747, 398.149, 6733, 4.4092, 5507.5532, 5903, 2.888, 5223.6939, 5598, 2.1747, 155.4204, 4541, .398, 796.298, 3637, .4662, 775.5226, 2896, 2.6471, 7.1135, 2084, 5.3414, .9803, 1910, 1.8463, 5486.7778, 1851, 4.9686, 213.2991, 1729, 2.9912, 6275.9623, 1623, .0322, 2544.3144, 1583, 1.4305, 2146.1654, 1462, 1.2053, 10977.0788, 1246, 2.8343, 1748.0164, 1188, 3.258, 5088.6288, 1181, 5.2738, 1194.447, 1151, 2.075, 4694.003, 1064, .7661, 553.5694, 997, 1.303, 6286.599, 972, 4.239, 1349.867, 945, 2.7, 242.729, 858, 5.645, 951.718, 758, 5.301, 2352.866, 639, 2.65, 9437.763, 610, 4.666, 4690.48, 583, 1.766, 1059.382, 531, .909, 3154.687, 522, 5.661, 71430.696, 520, 1.854, 801.821, 504, 1.425, 6438.496, 433, .241, 6812.767, 426, .774, 10447.388, 413, 5.24, 7084.897, 374, 2.001, 8031.092, 356, 2.429, 14143.495, 350, 4.8, 6279.553, 337, .888, 12036.461, 337, 3.862, 1592.596, 325, 3.4, 7632.943, 322, .616, 8429.241, 318, 3.188, 4705.732, 297, 6.07, 4292.331, 295, 1.431, 5746.271, 290, 2.325, 20.355, 275, .935, 5760.498, 270, 4.804, 7234.794, 253, 6.223, 6836.645, 228, 5.003, 17789.846, 225, 5.672, 11499.656, 215, 5.202, 11513.883, 208, 3.955, 10213.286, 208, 2.268, 522.577, 206, 2.224, 5856.478, 206, 2.55, 25132.303, 203, .91, 6256.778, 189, .532, 3340.612, 188, 4.735, 83996.847, 179, 1.474, 4164.312, 178, 3.025, 5.523, 177, 3.026, 5753.385, 159, 4.637, 3.286, 157, 6.124, 5216.58, 155, 3.077, 6681.225, 154, 4.2, 13367.973, 143, 1.191, 3894.182, 138, 3.093, 135.065, 136, 4.245, 426.598, 134, 5.765, 6040.347, 128, 3.085, 5643.179, 127, 2.092, 6290.189, 125, 3.077, 11926.254, 125, 3.445, 536.805, 114, 3.244, 12168.003, 112, 2.318, 16730.464, 111, 3.901, 11506.77, 111, 5.32, 23.878, 105, 3.75, 7860.419, 103, 2.447, 1990.745, 96, .82, 3.88, 96, 4.08, 6127.66, 91, 5.42, 206.19, 91, .42, 7079.37, 88, 5.17, 11790.63, 81, .34, 9917.7, 80, 3.89, 10973.56, 78, 2.4, 1589.07, 78, 2.58, 11371.7, 77, 3.98, 955.6, 77, 3.36, 36.03, 76, 1.3, 103.09, 75, 5.18, 10969.97, 75, 4.96, 6496.37, 73, 5.21, 38.03, 72, 2.65, 6309.37, 70, 5.61, 3738.76, 69, 2.6, 3496.03, 69, .39, 15.25, 69, 2.78, 20.78, 65, 1.13, 7058.6, 64, 4.28, 28.45, 61, 5.63, 10984.19, 60, .73, 419.48, 60, 5.28, 10575.41, 58, 5.55, 17298.18, 58, 3.19, 4732.03, 5291887, 0, 0, 871984, 1.072097, 6283.07585, 30913, .86729, 12566.1517, 2734, .053, 3.5231, 1633, 5.1883, 26.2983, 1575, 3.6846, 155.4204, 954, .757, 18849.228, 894, 2.057, 77713.771, 695, .827, 775.523, 506, 4.663, 1577.344, 406, 1.031, 7.114, 381, 3.441, 5573.143, 346, 5.141, 796.298, 317, 6.053, 5507.553, 302, 1.192, 242.729, 289, 6.117, 529.691, 271, .306, 398.149, 254, 2.28, 553.569, 237, 4.381, 5223.694, 208, 3.754, .98, 168, .902, 951.718, 153, 5.759, 1349.867, 145, 4.364, 1748.016, 134, 3.721, 1194.447, 125, 2.948, 6438.496, 122, 2.973, 2146.165, 110, 1.271, 161000.686, 104, .604, 3154.687, 100, 5.986, 6286.599, 92, 4.8, 5088.63, 89, 5.23, 7084.9, 83, 3.31, 213.3, 76, 3.42, 5486.78, 71, 6.19, 4690.48, 68, 3.43, 4694, 65, 1.6, 2544.31, 64, 1.98, 801.82, 61, 2.48, 10977.08, 50, 1.44, 6836.65, 49, 2.34, 1592.6, 46, 1.31, 4292.33, 46, 3.81, 149854.4, 43, .04, 7234.79, 40, 4.94, 7632.94, 39, 1.57, 71430.7, 38, 3.17, 6309.37, 35, .99, 6040.35, 35, .67, 1059.38, 31, 3.18, 2352.87, 31, 3.55, 8031.09, 30, 1.92, 10447.39, 30, 2.52, 6127.66, 28, 4.42, 9437.76, 28, 2.71, 3894.18, 27, .67, 25132.3, 26, 5.27, 6812.77, 25, .55, 6279.55, 23, 1.38, 4705.73, 22, .64, 6256.78, 20, 6.07, 640.88, 28923, 5.84384, 6283.07585, 3496, 0, 0, 1682, 5.4877, 12566.1517, 296, 5.196, 155.42, 129, 4.722, 3.523, 71, 5.3, 18849.23, 64, 5.97, 242.73, 40, 3.79, 553.57, 11408, 3.14159, 0, 772, 4.134, 6283.076, 77, 3.84, 12566.15, 42, .42, 155.42, 88, 3.14, 0, 17, 2.77, 6283.08, 5, 2.01, 155.42, 3, 2.21, 12566.15, 27962, 3.1987, 84334.66158, 10164, 5.42249, 5507.55324, 8045, 3.8801, 5223.6939, 4381, 3.7044, 2352.8662, 3193, 4.0003, 1577.3435, 2272, 3.9847, 1047.7473, 1814, 4.9837, 6283.0758, 1639, 3.5646, 5856.4777, 1444, 3.7028, 9437.7629, 1430, 3.4112, 10213.2855, 1125, 4.8282, 14143.4952, 1090, 2.0857, 6812.7668, 1037, 4.0566, 71092.8814, 971, 3.473, 4694.003, 915, 1.142, 6620.89, 878, 4.44, 5753.385, 837, 4.993, 7084.897, 770, 5.554, 167621.576, 719, 3.602, 529.691, 692, 4.326, 6275.962, 558, 4.41, 7860.419, 529, 2.484, 4705.732, 521, 6.25, 18073.705, 903, 3.897, 5507.553, 618, 1.73, 5223.694, 380, 5.244, 2352.866, 166, 1.627, 84334.662, 10001398880, 0, 0, 167069963, 3.098463508, 6283.075849991, 1395602, 3.0552461, 12566.1517, 308372, 5.198467, 77713.771468, 162846, 1.173877, 5753.384885, 157557, 2.846852, 7860.419392, 92480, 5.45292, 11506.76977, 54244, 4.56409, 3930.2097, 47211, 3.661, 5884.92685, 34598, .96369, 5507.55324, 32878, 5.89984, 5223.69392, 30678, .29867, 5573.1428, 24319, 4.2735, 11790.62909, 21183, 5.84715, 1577.34354, 18575, 5.02194, 10977.0788, 17484, 3.01194, 18849.22755, 10984, 5.05511, 5486.77784, 9832, .8868, 6069.7768, 8650, 5.6896, 15720.8388, 8583, 1.2708, 161000.6857, 6490, .2725, 17260.1547, 6292, .9218, 529.691, 5706, 2.0137, 83996.8473, 5574, 5.2416, 71430.6956, 4938, 3.245, 2544.3144, 4696, 2.5781, 775.5226, 4466, 5.5372, 9437.7629, 4252, 6.0111, 6275.9623, 3897, 5.3607, 4694.003, 3825, 2.3926, 8827.3903, 3749, .8295, 19651.0485, 3696, 4.9011, 12139.5535, 3566, 1.6747, 12036.4607, 3454, 1.8427, 2942.4634, 3319, .2437, 7084.8968, 3192, .1837, 5088.6288, 3185, 1.7778, 398.149, 2846, 1.2134, 6286.599, 2779, 1.8993, 6279.5527, 2628, 4.589, 10447.3878, 2460, 3.7866, 8429.2413, 2393, 4.996, 5856.4777, 2359, .2687, 796.298, 2329, 2.8078, 14143.4952, 2210, 1.95, 3154.6871, 2035, 4.6527, 2146.1654, 1951, 5.3823, 2352.8662, 1883, .6731, 149854.4001, 1833, 2.2535, 23581.2582, 1796, .1987, 6812.7668, 1731, 6.152, 16730.4637, 1717, 4.4332, 10213.2855, 1619, 5.2316, 17789.8456, 1381, 5.1896, 8031.0923, 1364, 3.6852, 4705.7323, 1314, .6529, 13367.9726, 1041, 4.3329, 11769.8537, 1017, 1.5939, 4690.4798, 998, 4.201, 6309.374, 966, 3.676, 27511.468, 874, 6.064, 1748.016, 779, 3.674, 12168.003, 771, .312, 7632.943, 756, 2.626, 6256.778, 746, 5.648, 11926.254, 693, 2.924, 6681.225, 680, 1.423, 23013.54, 674, .563, 3340.612, 663, 5.661, 11371.705, 659, 3.136, 801.821, 648, 2.65, 19804.827, 615, 3.029, 233141.314, 612, 5.134, 1194.447, 563, 4.341, 90955.552, 552, 2.091, 17298.182, 534, 5.1, 31441.678, 531, 2.407, 11499.656, 523, 4.624, 6438.496, 513, 5.324, 11513.883, 477, .256, 11856.219, 461, 1.722, 7234.794, 458, 3.766, 6386.169, 458, 4.466, 5746.271, 423, 1.055, 5760.498, 422, 1.557, 7238.676, 415, 2.599, 7058.598, 401, 3.03, 1059.382, 397, 1.201, 1349.867, 379, 4.907, 4164.312, 360, 5.707, 5643.179, 352, 3.626, 244287.6, 348, .761, 10973.556, 342, 3.001, 4292.331, 336, 4.546, 4732.031, 334, 3.138, 6836.645, 324, 4.164, 9917.697, 316, 1.691, 11015.106, 307, .238, 35371.887, 298, 1.306, 6283.143, 298, 1.75, 6283.009, 293, 5.738, 16200.773, 286, 5.928, 14712.317, 281, 3.515, 21228.392, 280, 5.663, 8635.942, 277, .513, 26.298, 268, 4.207, 18073.705, 266, .9, 12352.853, 260, 2.962, 25132.303, 255, 2.477, 6208.294, 242, 2.8, 709.933, 231, 1.054, 22483.849, 229, 1.07, 14314.168, 216, 1.314, 154717.61, 215, 6.038, 10873.986, 200, .561, 7079.374, 198, 2.614, 951.718, 197, 4.369, 167283.762, 186, 2.861, 5216.58, 183, 1.66, 39302.097, 183, 5.912, 3738.761, 175, 2.145, 6290.189, 173, 2.168, 10575.407, 171, 3.702, 1592.596, 171, 1.343, 3128.389, 164, 5.55, 6496.375, 164, 5.856, 10984.192, 161, 1.998, 10969.965, 161, 1.909, 6133.513, 157, 4.955, 25158.602, 154, 6.216, 23543.231, 153, 5.357, 13521.751, 150, 5.77, 18209.33, 150, 5.439, 155.42, 139, 1.778, 9225.539, 139, 1.626, 5120.601, 128, 2.46, 13916.019, 123, .717, 143571.324, 122, 2.654, 88860.057, 121, 4.414, 3894.182, 121, 1.192, 3.523, 120, 4.03, 553.569, 119, 1.513, 17654.781, 117, 3.117, 14945.316, 113, 2.698, 6040.347, 110, 3.085, 43232.307, 109, .998, 955.6, 108, 2.939, 17256.632, 107, 5.285, 65147.62, 103, .139, 11712.955, 103, 5.85, 213.299, 102, 3.046, 6037.244, 101, 2.842, 8662.24, 100, 3.626, 6262.3, 98, 2.36, 6206.81, 98, 5.11, 6172.87, 98, 2, 15110.47, 97, 2.67, 5650.29, 97, 2.75, 6244.94, 96, 4.02, 6282.1, 96, 5.31, 6284.06, 92, .1, 29088.81, 85, 3.26, 20426.57, 84, 2.6, 28766.92, 81, 3.58, 10177.26, 80, 5.81, 5230.81, 78, 2.53, 16496.36, 77, 4.06, 6127.66, 73, .04, 5481.25, 72, 5.96, 12559.04, 72, 5.92, 4136.91, 71, 5.49, 22003.91, 70, 3.41, 7.11, 69, .62, 11403.68, 69, 3.9, 1589.07, 69, 1.96, 12416.59, 69, 4.51, 426.6, 67, 1.61, 11087.29, 66, 4.5, 47162.52, 66, 5.08, 283.86, 66, 4.32, 16858.48, 65, 1.04, 6062.66, 64, 1.59, 18319.54, 63, 5.7, 45892.73, 63, 4.6, 66567.49, 63, 3.82, 13517.87, 62, 2.62, 11190.38, 61, 1.54, 33019.02, 60, 5.58, 10344.3, 60, 5.38, 316428.23, 60, 5.78, 632.78, 59, 6.12, 9623.69, 57, .16, 17267.27, 57, 3.86, 6076.89, 57, 1.98, 7668.64, 56, 4.78, 20199.09, 55, 4.56, 18875.53, 55, 3.51, 17253.04, 54, 3.07, 226858.24, 54, 4.83, 18422.63, 53, 5.02, 12132.44, 52, 3.63, 5333.9, 52, .97, 155427.54, 51, 3.36, 20597.24, 50, .99, 11609.86, 50, 2.21, 1990.75, 48, 1.62, 12146.67, 48, 1.17, 12569.67, 47, 4.62, 5436.99, 47, 1.81, 12562.63, 47, .59, 21954.16, 47, .76, 7342.46, 46, .27, 4590.91, 46, 3.77, 156137.48, 45, 5.66, 10454.5, 44, 5.84, 3496.03, 43, .24, 17996.03, 41, 5.93, 51092.73, 41, 4.21, 12592.45, 40, 5.14, 1551.05, 40, 5.28, 15671.08, 39, 3.69, 18052.93, 39, 4.94, 24356.78, 38, 2.72, 11933.37, 38, 5.23, 7477.52, 38, 4.99, 9779.11, 37, 3.7, 9388.01, 37, 4.44, 4535.06, 36, 2.16, 28237.23, 36, 2.54, 242.73, 36, .22, 5429.88, 35, 6.15, 19800.95, 35, 2.92, 36949.23, 34, 5.63, 2379.16, 34, 5.73, 16460.33, 34, 5.11, 5849.36, 33, 6.19, 6268.85, 10301861, 1.1074897, 6283.07584999, 172124, 1.064423, 12566.1517, 70222, 3.14159, 0, 3235, 1.0217, 18849.2275, 3080, 2.8435, 5507.5532, 2497, 1.3191, 5223.6939, 1849, 1.4243, 1577.3435, 1008, 5.9138, 10977.0788, 865, 1.42, 6275.962, 863, .271, 5486.778, 507, 1.686, 5088.629, 499, 6.014, 6286.599, 467, 5.987, 529.691, 440, .518, 4694.003, 410, 1.084, 9437.763, 387, 4.75, 2544.314, 375, 5.071, 796.298, 352, .023, 83996.847, 344, .949, 71430.696, 341, 5.412, 775.523, 322, 6.156, 2146.165, 286, 5.484, 10447.388, 284, 3.42, 2352.866, 255, 6.132, 6438.496, 252, .243, 398.149, 243, 3.092, 4690.48, 225, 3.689, 7084.897, 220, 4.952, 6812.767, 219, .42, 8031.092, 209, 1.282, 1748.016, 193, 5.314, 8429.241, 185, 1.82, 7632.943, 175, 3.229, 6279.553, 173, 1.537, 4705.732, 158, 4.097, 11499.656, 158, 5.539, 3154.687, 150, 3.633, 11513.883, 148, 3.222, 7234.794, 147, 3.653, 1194.447, 144, .817, 14143.495, 135, 6.151, 5746.271, 134, 4.644, 6836.645, 128, 2.693, 1349.867, 123, 5.65, 5760.498, 118, 2.577, 13367.973, 113, 3.357, 17789.846, 110, 4.497, 4292.331, 108, 5.828, 12036.461, 102, 5.621, 6256.778, 99, 1.14, 1059.38, 98, .66, 5856.48, 93, 2.32, 10213.29, 92, .77, 16730.46, 88, 1.5, 11926.25, 86, 1.42, 5753.38, 85, .66, 155.42, 81, 1.64, 6681.22, 80, 4.11, 951.72, 66, 4.55, 5216.58, 65, .98, 25132.3, 64, 4.19, 6040.35, 64, .52, 6290.19, 63, 1.51, 5643.18, 59, 6.18, 4164.31, 57, 2.3, 10973.56, 55, 2.32, 11506.77, 55, 2.2, 1592.6, 55, 5.27, 3340.61, 54, 5.54, 553.57, 53, 5.04, 9917.7, 53, .92, 11371.7, 52, 3.98, 17298.18, 52, 3.6, 10969.97, 49, 5.91, 3894.18, 49, 2.51, 6127.66, 48, 1.67, 12168, 46, .31, 801.82, 42, 3.7, 10575.41, 42, 4.05, 10984.19, 40, 2.17, 7860.42, 40, 4.17, 26.3, 38, 5.82, 7058.6, 37, 3.39, 6496.37, 36, 1.08, 6309.37, 36, 5.34, 7079.37, 34, 3.62, 11790.63, 32, .32, 16200.77, 31, 4.24, 3738.76, 29, 4.55, 11856.22, 29, 1.26, 8635.94, 27, 3.45, 5884.93, 26, 5.08, 10177.26, 26, 5.38, 21228.39, 24, 2.26, 11712.96, 24, 1.05, 242.73, 24, 5.59, 6069.78, 23, 3.63, 6284.06, 23, 1.64, 4732.03, 22, 3.46, 213.3, 21, 1.05, 3496.03, 21, 3.92, 13916.02, 21, 4.01, 5230.81, 20, 5.16, 12352.85, 20, .69, 1990.75, 19, 2.73, 6062.66, 19, 5.01, 11015.11, 18, 6.04, 6283.01, 18, 2.85, 7238.68, 18, 5.6, 6283.14, 18, 5.16, 17253.04, 18, 2.54, 14314.17, 17, 1.58, 7.11, 17, .98, 3930.21, 17, 4.75, 17267.27, 16, 2.19, 6076.89, 16, 2.19, 18073.7, 16, 6.12, 3.52, 16, 4.61, 9623.69, 16, 3.4, 16496.36, 15, .19, 9779.11, 15, 5.3, 13517.87, 15, 4.26, 3128.39, 15, .81, 709.93, 14, .5, 25158.6, 14, 4.38, 4136.91, 13, .98, 65147.62, 13, 3.31, 154717.61, 13, 2.11, 1589.07, 13, 1.92, 22483.85, 12, 6.03, 9225.54, 12, 1.53, 12559.04, 12, 5.82, 6282.1, 12, 5.61, 5642.2, 12, 2.38, 167283.76, 12, .39, 12132.44, 12, 3.98, 4686.89, 12, 5.81, 12569.67, 12, .56, 5849.36, 11, .45, 6172.87, 11, 5.8, 16858.48, 11, 6.22, 12146.67, 11, 2.27, 5429.88, 435939, 5.784551, 6283.07585, 12363, 5.57935, 12566.1517, 1234, 3.1416, 0, 879, 3.628, 77713.771, 569, 1.87, 5573.143, 330, 5.47, 18849.228, 147, 4.48, 5507.553, 110, 2.842, 161000.686, 101, 2.815, 5223.694, 85, 3.11, 1577.34, 65, 5.47, 775.52, 61, 1.38, 6438.5, 50, 4.42, 6286.6, 47, 3.66, 7084.9, 46, 5.39, 149854.4, 42, .9, 10977.08, 40, 3.2, 5088.63, 35, 1.81, 5486.78, 32, 5.35, 3154.69, 30, 3.52, 796.3, 29, 4.62, 4690.48, 28, 1.84, 4694, 27, 3.14, 71430.7, 27, 6.17, 6836.65, 26, 1.42, 2146.17, 25, 2.81, 1748.02, 24, 2.18, 155.42, 23, 4.76, 7234.79, 21, 3.38, 7632.94, 21, .22, 4705.73, 20, 4.22, 1349.87, 20, 2.01, 1194.45, 20, 4.58, 529.69, 19, 1.59, 6309.37, 18, 5.7, 6040.35, 18, 6.03, 4292.33, 17, 2.9, 9437.76, 17, 2, 8031.09, 17, 5.78, 83996.85, 16, .05, 2544.31, 15, .95, 6127.66, 14, .36, 10447.39, 14, 1.48, 2352.87, 13, .77, 553.57, 13, 5.48, 951.72, 13, 5.27, 6279.55, 13, 3.76, 6812.77, 11, 5.41, 6256.78, 10, .68, 1592.6, 10, 4.95, 398.15, 10, 1.15, 3894.18, 10, 5.2, 244287.6, 10, 1.94, 11856.22, 9, 5.39, 25132.3, 8, 6.18, 1059.38, 8, .69, 8429.24, 8, 5.85, 242.73, 7, 5.26, 14143.5, 7, .52, 801.82, 6, 2.24, 8635.94, 6, 4, 13367.97, 6, 2.77, 90955.55, 6, 5.17, 7058.6, 5, 1.46, 233141.31, 5, 4.13, 7860.42, 5, 3.91, 26.3, 5, 3.89, 12036.46, 5, 5.58, 6290.19, 5, 5.54, 1990.75, 5, .83, 11506.77, 5, 6.22, 6681.22, 4, 5.26, 10575.41, 4, 1.91, 7477.52, 4, .43, 10213.29, 4, 1.09, 709.93, 4, 5.09, 11015.11, 4, 4.22, 88860.06, 4, 3.57, 7079.37, 4, 1.98, 6284.06, 4, 3.93, 10973.56, 4, 6.18, 9917.7, 4, .36, 10177.26, 4, 2.75, 3738.76, 4, 3.33, 5643.18, 4, 5.36, 25158.6, 14459, 4.27319, 6283.07585, 673, 3.917, 12566.152, 77, 0, 0, 25, 3.73, 18849.23, 4, 2.8, 6286.6, 386, 2.564, 6283.076, 31, 2.27, 12566.15, 5, 3.44, 5573.14, 2, 2.05, 18849.23, 1, 2.06, 77713.77, 1, 4.41, 161000.69, 1, 3.82, 149854.4, 1, 4.08, 6127.66, 1, 5.26, 6438.5, 9, 1.22, 6283.08, 1, .66, 12566.15)),
                    a = [[[22639.586, .78475822, 8328.691424623, 1.5229241, 25.0719, -.123598, 4586.438, .1873974, 7214.06286536, -2.184756, -18.86, .0828, 2369.914, 2.542952, 15542.75428998, -.661832, 6.212, -.0408, 769.026, 3.140313, 16657.38284925, 3.04585, 50.144, -.2472, 666.418, 1.527671, 628.30195521, -.02664, .062, -.0054, 411.596, 4.826607, 16866.932315, -1.28012, -1.07, -.0059, 211.656, 4.115028, -1114.6285593, -3.70768, -43.93, .2064, 205.436, .230523, 6585.7609101, -2.15812, -18.92, .0882, 191.956, 4.898507, 23871.4457146, .86109, 31.28, -.164, 164.729, 2.586078, 14914.4523348, -.6352, 6.15, -.035, 147.321, 5.4553, -7700.3894694, -1.5496, -25.01, .118, 124.988, .48608, 7771.377145, -.3309, 3.11, -.02, 109.38, 3.88323, 8956.9933798, 1.4963, 25.13, -.129, 55.177, 5.57033, -1324.178025, .6183, 7.3, -.035, 45.1, .89898, 25195.62374, .2428, 24, -.129, 39.533, 3.81213, -8538.24089, 2.803, 26.1, -.118, 38.43, 4.30115, 22756.817155, -2.8466, -12.6, .042, 36.124, 5.49587, 24986.074274, 4.5688, 75.2, -.371, 30.773, 1.94559, 14428.125731, -4.3695, -37.7, .166, 28.397, 3.28586, 7842.364821, -2.2114, -18.8, .077, 24.358, 5.64142, 16171.056245, -.6885, 6.3, -.046, 18.585, 4.41371, -557.31428, -1.8538, -22, .1, 17.954, 3.58454, 8399.6791, -.3576, 3.2, -.03, 14.53, 4.9416, 23243.143759, .888, 31.2, -.16, 14.38, .9709, 32200.137139, 2.384, 56.4, -.29, 14.251, 5.7641, -2.3012, 1.523, 25.1, -.12, 13.899, .3735, 31085.50858, -1.324, 12.4, -.08, 13.194, 1.7595, -9443.319984, -5.231, -69, .33, 9.679, 3.0997, -16029.080894, -3.072, -50.1, .24, 9.366, .3016, 24080.99518, -3.465, -19.9, .08, 8.606, 4.1582, -1742.930514, -3.681, -44, .21, 8.453, 2.8416, 16100.06857, 1.192, 28.2, -.14, 8.05, 2.6292, 14286.15038, -.609, 6.1, -.03, 7.63, 6.2388, 17285.684804, 3.019, 50.2, -.25, 7.447, 1.4845, 1256.60391, -.053, .1, -.01, 7.371, .2736, 5957.458955, -2.131, -19, .09, 7.063, 5.6715, 33.757047, -.308, -3.6, .02, 6.383, 4.7843, 7004.5134, 2.141, 32.4, -.16, 5.742, 2.6572, 32409.686605, -1.942, 5, -.05, 4.374, 4.3443, 22128.5152, -2.82, -13, .05, 3.998, 3.2545, 33524.31516, 1.766, 49, -.25, 3.21, 2.2443, 14985.44001, -2.516, -16, .06, 2.915, 1.7138, 24499.74767, .834, 31, -.17, 2.732, 1.9887, 13799.82378, -4.343, -38, .17, 2.568, 5.4122, -7072.08751, -1.576, -25, .11, 2.521, 3.2427, 8470.66678, -2.238, -19, .07, 2.489, 4.0719, -486.3266, -3.734, -44, .2, 2.146, 5.6135, -1952.47998, .645, 7, -.03, 1.978, 2.7291, 39414.2, .199, 37, -.21, 1.934, 1.5682, 33314.7657, 6.092, 100, -.5, 1.871, .4166, 30457.20662, -1.297, 12, -.1, 1.753, 2.0582, -8886.0057, -3.38, -47, .2, 1.437, 2.386, -695.87607, .59, 7, 0, 1.373, 3.026, -209.54947, 4.33, 51, -.2, 1.262, 5.94, 16728.37052, 1.17, 28, -.1, 1.224, 6.172, 6656.74859, -4.04, -41, .2, 1.187, 5.873, 6099.43431, -5.89, -63, .3, 1.177, 1.014, 31571.83518, 2.41, 56, -.3, 1.162, 3.84, 9585.29534, 1.47, 25, -.1, 1.143, 5.639, 8364.73984, -2.18, -19, .1, 1.078, 1.229, 70.98768, -1.88, -22, .1, 1.059, 3.326, 40528.82856, 3.91, 81, -.4, .99, 5.013, 40738.37803, -.42, 30, -.2, .948, 5.687, -17772.01141, -6.75, -94, .5, .876, .298, -.35232, 0, 0, 0, .822, 2.994, 393.02097, 0, 0, 0, .788, 1.836, 8326.39022, 3.05, 50, -.2, .752, 4.985, 22614.8418, .91, 31, -.2, .74, 2.875, 8330.99262, 0, 0, 0, .669, .744, -24357.77232, -4.6, -75, .4, .644, 1.314, 8393.12577, -2.18, -19, .1, .639, 5.888, 575.33849, 0, 0, 0, .635, 1.116, 23385.11911, -2.87, -13, 0, .584, 5.197, 24428.75999, 2.71, 53, -.3, .583, 3.513, -9095.55517, .95, 4, 0, .572, 6.059, 29970.88002, -5.03, -32, .1, .565, 2.96, .32863, 1.52, 25, -.1, .561, 4.001, -17981.56087, -2.43, -43, .2, .557, .529, 7143.07519, -.3, 3, 0, .546, 2.311, 25614.37623, 4.54, 75, -.4, .536, 4.229, 15752.30376, -4.99, -45, .2, .493, 3.316, -8294.9344, -1.83, -29, .1, .491, 1.744, 8362.4485, 1.21, 21, -.1, .478, 1.803, -10071.6219, -5.2, -69, .3, .454, .857, 15333.2048, 3.66, 57, -.3, .445, 2.071, 8311.7707, -2.18, -19, .1, .426, .345, 23452.6932, -3.44, -20, .1, .42, 4.941, 33733.8646, -2.56, -2, 0, .413, 1.642, 17495.2343, -1.31, -1, 0, .404, 1.458, 23314.1314, -.99, 9, -.1, .395, 2.132, 38299.5714, -3.51, -6, 0, .382, 2.7, 31781.3846, -1.92, 5, 0, .375, 4.827, 6376.2114, 2.17, 32, -.2, .361, 3.867, 16833.1753, -.97, 3, 0, .358, 5.044, 15056.4277, -4.4, -38, .2, .35, 5.157, -8257.7037, -3.4, -47, .2, .344, 4.233, 157.7344, 0, 0, 0, .34, 2.672, 13657.8484, -.58, 6, 0, .329, 5.61, 41853.0066, 3.29, 74, -.4, .325, 5.895, -39.8149, 0, 0, 0, .309, 4.387, 21500.2132, -2.79, -13, .1, .302, 1.278, 786.0419, 0, 0, 0, .302, 5.341, -24567.3218, -.27, -24, .1, .301, 1.045, 5889.8848, -1.57, -12, 0, .294, 4.201, -2371.2325, -3.65, -44, .2, .293, 3.704, 21642.1886, -6.55, -57, .2, .29, 4.069, 32828.4391, 2.36, 56, -.3, .289, 3.472, 31713.8105, -1.35, 12, -.1, .285, 5.407, -33.7814, .31, 4, 0, .283, 5.998, -16.9207, -3.71, -44, .2, .283, 2.772, 38785.898, .23, 37, -.2, .274, 5.343, 15613.742, -2.54, -16, .1, .263, 3.997, 25823.9257, .22, 24, -.1, .254, .6, 24638.3095, -1.61, 2, 0, .253, 1.344, 6447.1991, .29, 10, -.1, .25, .887, 141.9754, -3.76, -44, .2, .247, .317, 5329.157, -2.1, -19, .1, .245, .141, 36.0484, -3.71, -44, .2, .231, 2.287, 14357.1381, -2.49, -16, .1, .227, 5.158, 2.6298, 0, 0, 0, .219, 5.085, 47742.8914, 1.72, 63, -.3, .211, 2.145, 6638.7244, -2.18, -19, .1, .201, 4.415, 39623.7495, -4.13, -14, 0, .194, 2.091, 588.4927, 0, 0, 0, .193, 3.057, -15400.7789, -3.1, -50, 0, .186, 5.598, 16799.3582, -.72, 6, 0, .185, 3.886, 1150.677, 0, 0, 0, .183, 1.619, 7178.0144, 1.52, 25, 0, .181, 2.635, 8328.3391, 1.52, 25, 0, .181, 2.077, 8329.0437, 1.52, 25, 0, .179, 3.215, -9652.8694, -.9, -18, 0, .176, 1.716, -8815.018, -5.26, -69, 0, .175, 5.673, 550.7553, 0, 0, 0, .17, 2.06, 31295.058, -5.6, -39, 0, .167, 1.239, 7211.7617, -.7, 6, 0, .165, 4.499, 14967.4158, -.7, 6, 0, .164, 3.595, 15540.4531, .9, 31, 0, .164, 4.237, 522.3694, 0, 0, 0, .163, 4.633, 15545.0555, -2.2, -19, 0, .161, .478, 6428.0209, -2.2, -19, 0, .158, 2.03, 13171.5218, -4.3, -38, 0, .157, 2.28, 7216.3641, -3.7, -44, 0, .154, 5.65, 7935.6705, 1.5, 25, 0, .152, .46, 29828.9047, -1.3, 12, 0, .151, 1.19, -.7113, 0, 0, 0, .15, 1.42, 23942.4334, -1, 9, 0, .144, 2.75, 7753.3529, 1.5, 25, 0, .137, 2.08, 7213.7105, -2.2, -19, 0, .137, 1.44, 7214.4152, -2.2, -19, 0, .136, 4.46, -1185.6162, -1.8, -22, 0, .136, 3.03, 8000.1048, -2.2, -19, 0, .134, 2.83, 14756.7124, -.7, 6, 0, .131, 5.05, 6821.0419, -2.2, -19, 0, .128, 5.99, -17214.6971, -4.9, -72, 0, .127, 5.35, 8721.7124, 1.5, 25, 0, .126, 4.49, 46628.2629, -2, 19, 0, .125, 5.94, 7149.6285, 1.5, 25, 0, .124, 1.09, 49067.0695, 1.1, 55, 0, .121, 2.88, 15471.7666, 1.2, 28, 0, .111, 3.92, 41643.4571, 7.6, 125, -1, .11, 1.96, 8904.0299, 1.5, 25, 0, .106, 3.3, -18.0489, -2.2, -19, 0, .105, 2.3, -4.931, 1.5, 25, 0, .104, 2.22, -6.559, -1.9, -22, 0, .101, 1.44, 1884.9059, -.1, 0, 0, .1, 5.92, 5471.1324, -5.9, -63, 0, .099, 1.12, 15149.7333, -.7, 6, 0, .096, 4.73, 15508.9972, -.4, 10, 0, .095, 5.18, 7230.9835, 1.5, 25, 0, .093, 3.37, 39900.5266, 3.9, 81, 0, .092, 2.01, 25057.0619, 2.7, 53, 0, .092, 1.21, -79.6298, 0, 0, 0, .092, 1.65, -26310.2523, -4, -68, 0, .091, 1.01, 42062.5561, -1, 23, 0, .09, 6.1, 29342.5781, -5, -32, 0, .09, 4.43, 15542.402, -.7, 6, 0, .09, 3.8, 15543.1066, -.7, 6, 0, .089, 4.15, 6063.3859, -2.2, -19, 0, .086, 4.03, 52.9691, 0, 0, 0, .085, .49, 47952.4409, -2.6, 11, 0, .085, 1.6, 7632.8154, 2.1, 32, 0, .084, .22, 14392.0773, -.7, 6, 0, .083, 6.22, 6028.4466, -4, -41, 0, .083, .63, -7909.9389, 2.8, 26, 0, .083, 5.2, -77.5523, 0, 0, 0, .082, 2.74, 8786.1467, -2.2, -19, 0, .08, 2.43, 9166.5428, -2.8, -26, 0, .08, 3.7, -25405.1732, 4.1, 27, 0, .078, 5.68, 48857.52, 5.4, 106, -1, .077, 1.85, 8315.5735, -2.2, -19, 0, .075, 5.46, -18191.1103, 1.9, 8, 0, .075, 1.41, -16238.6304, 1.3, 1, 0, .074, 5.06, 40110.0761, -.4, 30, 0, .072, 2.1, 64.4343, -3.7, -44, 0, .071, 2.17, 37671.2695, -3.5, -6, 0, .069, 1.71, 16693.4313, -.7, 6, 0, .069, 3.33, -26100.7028, -8.3, -119, 1, .068, 1.09, 8329.4028, 1.5, 25, 0, .068, 3.62, 8327.9801, 1.5, 25, 0, .068, 2.41, 16833.1509, -1, 3, 0, .067, 3.4, 24709.2971, -3.5, -20, 0, .067, 1.65, 8346.7156, -.3, 3, 0, .066, 2.61, 22547.2677, 1.5, 39, 0, .066, 3.5, 15576.5113, -1, 3, 0, .065, 5.76, 33037.9886, -2, 5, 0, .065, 4.58, 8322.1325, -.3, 3, 0, .065, 6.2, 17913.9868, 3, 50, 0, .065, 1.5, 22685.8295, -1, 9, 0, .065, 2.37, 7180.3058, -1.9, -15, 0, .064, 1.06, 30943.5332, 2.4, 56, 0, .064, 1.89, 8288.8765, 1.5, 25, 0, .064, 4.7, 6.0335, .3, 4, 0, .063, 2.83, 8368.5063, 1.5, 25, 0, .063, 5.66, -2580.7819, .7, 7, 0, .062, 3.78, 7056.3285, -2.2, -19, 0, .061, 1.49, 8294.91, 1.8, 29, 0, .061, .12, -10281.1714, -.9, -18, 0, .061, 3.06, -8362.4729, -1.2, -21, 0, .061, 4.43, 8170.9571, 1.5, 25, 0, .059, 5.78, -13.1179, -3.7, -44, 0, .059, 5.97, 6625.5702, -2.2, -19, 0, .058, 5.01, -.508, -.3, 0, 0, .058, 2.73, 7161.0938, -2.2, -19, 0, .057, .19, 7214.0629, -2.2, -19, 0, .057, 4, 22199.5029, -4.7, -35, 0, .057, 5.38, 8119.142, 5.8, 76, 0, .056, 1.07, 7542.6495, 1.5, 25, 0, .056, .28, 8486.4258, 1.5, 25, 0, .054, 4.19, 16655.0816, 4.6, 75, 0, .053, .72, 7267.032, -2.2, -19, 0, .053, 3.12, 12.6192, .6, 7, 0, .052, 2.99, -32896.013, -1.8, -49, 0, .052, 3.46, 1097.708, 0, 0, 0, .051, 5.37, -6443.786, -1.6, -25, 0, .051, 1.35, 7789.401, -2.2, -19, 0, .051, 5.83, 40042.502, .2, 38, 0, .051, 3.63, 9114.733, 1.5, 25, 0, .05, 1.51, 8504.484, -2.5, -22, 0, .05, 5.23, 16659.684, 1.5, 25, 0, .05, 1.15, 7247.82, -2.5, -23, 0, .047, .25, -1290.421, .3, 0, 0, .047, 4.67, -32686.464, -6.1, -100, 0, .047, 3.49, 548.678, 0, 0, 0, .047, 2.37, 6663.308, -2.2, -19, 0, .046, .98, 1572.084, 0, 0, 0, .046, 2.04, 14954.262, -.7, 6, 0, .046, 3.72, 6691.693, -2.2, -19, 0, .045, 6.19, -235.287, 0, 0, 0, .044, 2.96, 32967.001, -.1, 27, 0, .044, 3.82, -1671.943, -5.6, -66, 0, .043, 5.82, 1179.063, 0, 0, 0, .043, .07, 34152.617, 1.7, 49, 0, .043, 3.71, 6514.773, -.3, 0, 0, .043, 5.62, 15.732, -2.5, -23, 0, .043, 5.8, 8351.233, -2.2, -19, 0, .042, .27, 7740.199, 1.5, 25, 0, .042, 6.14, 15385.02, -.7, 6, 0, .042, 6.13, 7285.051, -4.1, -41, 0, .041, 1.27, 32757.451, 4.2, 78, 0, .041, 4.46, 8275.722, 1.5, 25, 0, .04, .23, 8381.661, 1.5, 25, 0, .04, 5.87, -766.864, 2.5, 29, 0, .04, 1.66, 254.431, 0, 0, 0, .04, .4, 9027.981, -.4, 0, 0, .04, 2.96, 7777.936, 1.5, 25, 0, .039, 4.67, 33943.068, 6.1, 100, 0, .039, 3.52, 8326.062, 1.5, 25, 0, .039, 3.75, 21013.887, -6.5, -57, 0, .039, 5.6, 606.978, 0, 0, 0, .039, 1.19, 8331.321, 1.5, 25, 0, .039, 2.84, 7211.433, -2.2, -19, 0, .038, .67, 7216.693, -2.2, -19, 0, .038, 6.22, 25161.867, .6, 28, 0, .038, 4.4, 7806.322, 1.5, 25, 0, .038, 4.16, 9179.168, -2.2, -19, 0, .037, 4.73, 14991.999, -.7, 6, 0, .036, .35, 67.514, -.6, -7, 0, .036, 3.7, 25266.611, -1.6, 0, 0, .036, 5.39, 16328.796, -.7, 6, 0, .035, 1.44, 7174.248, -2.2, -19, 0, .035, 5, 15684.73, -4.4, -38, 0, .035, .39, -15.419, -2.2, -19, 0, .035, 6.07, 15020.385, -.7, 6, 0, .034, 6.01, 7371.797, -2.2, -19, 0, .034, .96, -16623.626, -3.4, -54, 0, .033, 6.24, 9479.368, 1.5, 25, 0, .033, 3.21, 23661.896, 5.2, 82, 0, .033, 4.06, 8311.418, -2.2, -19, 0, .033, 2.4, 1965.105, 0, 0, 0, .033, 5.17, 15489.785, -.7, 6, 0, .033, 5.03, 21986.54, .9, 31, 0, .033, 4.1, 16691.14, 2.7, 46, 0, .033, 5.13, 47114.589, 1.7, 63, 0, .033, 4.45, 8917.184, 1.5, 25, 0, .033, 4.23, 2.078, 0, 0, 0, .032, 2.33, 75.251, 1.5, 25, 0, .032, 2.1, 7253.878, -2.2, -19, 0, .032, 3.11, -.224, 1.5, 25, 0, .032, 4.43, 16640.462, -.7, 6, 0, .032, 5.68, 8328.363, 0, 0, 0, .031, 5.32, 8329.02, 3, 50, 0, .031, 3.7, 16118.093, -.7, 6, 0, .03, 3.67, 16721.817, -.7, 6, 0, .03, 5.27, -1881.492, -1.2, -15, 0, .03, 5.72, 8157.839, -2.2, -19, 0, .029, 5.73, -18400.313, -6.7, -94, 0, .029, 2.76, 16, -2.2, -19, 0, .029, 1.75, 8879.447, 1.5, 25, 0, .029, .32, 8851.061, 1.5, 25, 0, .029, .9, 14704.903, 3.7, 57, 0, .028, 2.9, 15595.723, -.7, 6, 0, .028, 5.88, 16864.631, .2, 24, 0, .028, .63, 16869.234, -2.8, -26, 0, .028, 4.04, -18609.863, -2.4, -43, 0, .027, 5.83, 6727.736, -5.9, -63, 0, .027, 6.12, 418.752, 4.3, 51, 0, .027, .14, 41157.131, 3.9, 81, 0, .026, 3.8, 15.542, 0, 0, 0, .026, 1.68, 50181.698, 4.8, 99, -1, .026, .32, 315.469, 0, 0, 0, .025, 5.67, 19.188, .3, 0, 0, .025, 3.16, 62.133, -2.2, -19, 0, .025, 3.76, 15502.939, -.7, 6, 0, .025, 4.53, 45999.961, -2, 19, 0, .024, 3.21, 837.851, -4.4, -51, 0, .024, 2.82, 38157.596, .3, 37, 0, .024, 5.21, 15540.124, -.7, 6, 0, .024, .26, 14218.576, 0, 13, 0, .024, 3.01, 15545.384, -.7, 6, 0, .024, 1.16, -17424.247, -.6, -21, 0, .023, 2.34, -67.574, .6, 7, 0, .023, 2.44, 18.024, -1.9, -22, 0, .023, 3.7, 469.4, 0, 0, 0, .023, .72, 7136.511, -2.2, -19, 0, .023, 4.5, 15582.569, -.7, 6, 0, .023, 2.8, -16586.395, -4.9, -72, 0, .023, 1.51, 80.182, 0, 0, 0, .023, 1.09, 5261.583, -1.5, -12, 0, .023, .56, 54956.954, -.5, 44, 0, .023, 4.01, 8550.86, -2.2, -19, 0, .023, 4.46, 38995.448, -4.1, -14, 0, .023, 3.82, 2358.126, 0, 0, 0, .022, 3.77, 32271.125, .5, 34, 0, .022, .82, 15935.775, -.7, 6, 0, .022, 1.07, 24013.421, -2.9, -13, 0, .022, .4, 8940.078, -2.2, -19, 0, .022, 2.06, 15700.489, -.7, 6, 0, .022, 4.27, 15124.002, -5, -45, 0, .021, 1.16, 56071.583, 3.2, 88, 0, .021, 5.58, 9572.189, -2.2, -19, 0, .02, 1.7, -17.273, -3.7, -44, 0, .02, 3.05, 214.617, 0, 0, 0, .02, 4.41, 8391.048, -2.2, -19, 0, .02, 5.95, 23869.145, 2.4, 56, 0, .02, .42, 40947.927, -4.7, -21, 0, .019, 1.39, 5818.897, .3, 10, 0, .019, .71, 23873.747, -.7, 6, 0, .019, 2.81, 7291.615, -2.2, -19, 0, .019, 5.09, 8428.018, -2.2, -19, 0, .019, 4.14, 6518.187, -1.6, -12, 0, .019, 3.85, 21.33, 0, 0, 0, .018, .66, 14445.046, -.7, 6, 0, .018, 1.65, .966, -4, -48, 0, .018, 5.64, -17143.709, -6.8, -94, 0, .018, 6.01, 7736.432, -2.2, -19, 0, .018, 2.74, 31153.083, -1.9, 5, 0, .018, 4.58, 6116.355, -2.2, -19, 0, .018, 2.28, 46.401, .3, 0, 0, .018, 3.8, 10213.597, 1.4, 25, 0, .018, 2.84, 56281.132, -1.1, 36, 0, .018, 3.53, 8249.062, 1.5, 25, 0, .017, 4.43, 20871.911, -3, -13, 0, .017, 4.44, 627.596, 0, 0, 0, .017, 1.85, 628.308, 0, 0, 0, .017, 1.19, 8408.321, 2, 25, 0, .017, 1.95, 7214.056, -2, -19, 0, .017, 1.57, 7214.07, -2, -19, 0, .017, 1.65, 13870.811, -6, -60, 0, .017, .3, 22.542, -4, -44, 0, .017, 2.62, -119.445, 0, 0, 0, .016, 4.87, 5747.909, 2, 32, 0, .016, 4.45, 14339.108, -1, 6, 0, .016, 1.83, 41366.68, 0, 30, 0, .016, 4.53, 16309.618, -3, -23, 0, .016, 2.54, 15542.754, -1, 6, 0, .016, 6.05, 1203.646, 0, 0, 0, .015, 5.2, 2751.147, 0, 0, 0, .015, 1.8, -10699.924, -5, -69, 0, .015, .4, 22824.391, -3, -20, 0, .015, 2.1, 30666.756, -6, -39, 0, .015, 2.1, 6010.417, -2, -19, 0, .015, .7, -23729.47, -5, -75, 0, .015, 1.4, 14363.691, -1, 6, 0, .015, 5.8, 16900.689, -2, 0, 0, .015, 5.2, 23800.458, 3, 53, 0, .015, 5.3, 6035, -2, -19, 0, .015, 1.2, 8251.139, 2, 25, 0, .015, 3.6, -8.86, 0, 0, 0, .015, .8, 882.739, 0, 0, 0, .015, 3, 1021.329, 0, 0, 0, .015, .6, 23296.107, 1, 31, 0, .014, 5.4, 7227.181, 2, 25, 0, .014, .1, 7213.352, -2, -19, 0, .014, 4, 15506.706, 3, 50, 0, .014, 3.4, 7214.774, -2, -19, 0, .014, 4.6, 6665.385, -2, -19, 0, .014, .1, -8.636, -2, -22, 0, .014, 3.1, 15465.202, -1, 6, 0, .014, 4.9, 508.863, 0, 0, 0, .014, 3.5, 8406.244, 2, 25, 0, .014, 1.3, 13313.497, -8, -82, 0, .014, 2.8, 49276.619, -3, 0, 0, .014, .1, 30528.194, -3, -10, 0, .013, 1.7, 25128.05, 1, 31, 0, .013, 2.9, 14128.405, -1, 6, 0, .013, 3.4, 57395.761, 3, 80, 0, .013, 2.7, 13029.546, -1, 6, 0, .013, 3.9, 7802.556, -2, -19, 0, .013, 1.6, 8258.802, -2, -19, 0, .013, 2.2, 8417.709, -2, -19, 0, .013, .7, 9965.21, -2, -19, 0, .013, 3.4, 50391.247, 0, 48, 0, .013, 3, 7134.433, -2, -19, 0, .013, 2.9, 30599.182, -5, -31, 0, .013, 3.6, -9723.857, 1, 0, 0, .013, 4.8, 7607.084, -2, -19, 0, .012, .8, 23837.689, 1, 35, 0, .012, 3.6, 4.409, -4, -44, 0, .012, 5, 16657.031, 3, 50, 0, .012, 4.4, 16657.735, 3, 50, 0, .012, 1.1, 15578.803, -4, -38, 0, .012, 6, -11.49, 0, 0, 0, .012, 1.9, 8164.398, 0, 0, 0, .012, 2.4, 31852.372, -4, -17, 0, .012, 2.4, 6607.085, -2, -19, 0, .012, 4.2, 8359.87, 0, 0, 0, .012, .5, 5799.713, -2, -19, 0, .012, 2.7, 7220.622, 0, 0, 0, .012, 4.3, -139.72, 0, 0, 0, .012, 2.3, 13728.836, -2, -16, 0, .011, 3.6, 14912.146, 1, 31, 0, .011, 4.7, 14916.748, -2, -19, 0], [1.6768, 4.66926, 628.301955, -.0266, .1, -.005, .51642, 3.3721, 6585.76091, -2.158, -18.9, .09, .41383, 5.7277, 14914.452335, -.635, 6.2, -.04, .37115, 3.9695, 7700.389469, 1.55, 25, -.12, .2756, .7416, 8956.99338, 1.496, 25.1, -.13, .24599, 4.2253, -2.3012, 1.523, 25.1, -.12, .07118, .1443, 7842.36482, -2.211, -19, .08, .06128, 2.4998, 16171.05625, -.688, 6, 0, .04516, .443, 8399.6791, -.36, 3, 0, .04048, 5.771, 14286.15038, -.61, 6, 0, .03747, 4.626, 1256.60391, -.05, 0, 0, .03707, 3.415, 5957.45895, -2.13, -19, .1, .03649, 1.8, 23243.14376, .89, 31, -.2, .02438, .042, 16029.08089, 3.07, 50, -.2, .02165, 1.017, -1742.93051, -3.68, -44, .2, .01923, 3.097, 17285.6848, 3.02, 50, -.3, .01692, 1.28, .3286, 1.52, 25, -.1, .01361, .298, 8326.3902, 3.05, 50, -.2, .01293, 4.013, 7072.0875, 1.58, 25, -.1, .01276, 4.413, 8330.9926, 0, 0, 0, .0127, .101, 8470.6668, -2.24, -19, .1, .01097, 1.203, 22128.5152, -2.82, -13, 0, .01088, 2.545, 15542.7543, -.66, 6, 0, .00835, .19, 7214.0629, -2.18, -19, .1, .00734, 4.855, 24499.7477, .83, 31, -.2, .00686, 5.13, 13799.8238, -4.34, -38, .2, .00631, .93, -486.3266, -3.73, -44, 0, .00585, .699, 9585.2953, 1.5, 25, 0, .00566, 4.073, 8328.3391, 1.5, 25, 0, .00566, .638, 8329.0437, 1.5, 25, 0, .00539, 2.472, -1952.48, .6, 7, 0, .00509, 2.88, -.7113, 0, 0, 0, .00469, 3.56, 30457.2066, -1.3, 12, 0, .00387, .78, -.3523, 0, 0, 0, .00378, 1.84, 22614.8418, .9, 31, 0, .00362, 5.53, -695.8761, .6, 7, 0, .00317, 2.8, 16728.3705, 1.2, 28, 0, .00303, 6.07, 157.7344, 0, 0, 0, .003, 2.53, 33.757, -.3, -4, 0, .00295, 4.16, 31571.8352, 2.4, 56, 0, .00289, 5.98, 7211.7617, -.7, 6, 0, .00285, 2.06, 15540.4531, .9, 31, 0, .00283, 2.65, 2.6298, 0, 0, 0, .00282, 6.17, 15545.0555, -2.2, -19, 0, .00278, 1.23, -39.8149, 0, 0, 0, .00272, 3.82, 7216.3641, -3.7, -44, 0, .0027, 4.37, 70.9877, -1.9, -22, 0, .00256, 5.81, 13657.8484, -.6, 6, 0, .00244, 5.64, -.2237, 1.5, 25, 0, .0024, 2.96, 8311.7707, -2.2, -19, 0, .00239, .87, -33.7814, .3, 4, 0, .00216, 2.31, 15.9995, -2.2, -19, 0, .00186, 3.46, 5329.157, -2.1, -19, 0, .00169, 2.4, 24357.772, 4.6, 75, 0, .00161, 5.8, 8329.403, 1.5, 25, 0, .00161, 5.2, 8327.98, 1.5, 25, 0, .0016, 4.26, 23385.119, -2.9, -13, 0, .00156, 1.26, 550.755, 0, 0, 0, .00155, 1.25, 21500.213, -2.8, -13, 0, .00152, .6, -16.921, -3.7, -44, 0, .0015, 2.71, -79.63, 0, 0, 0, .0015, 5.29, 15.542, 0, 0, 0, .00148, 1.06, -2371.232, -3.7, -44, 0, .00141, .77, 8328.691, 1.5, 25, 0, .00141, 3.67, 7143.075, -.3, 0, 0, .00138, 5.45, 25614.376, 4.5, 75, 0, .00129, 4.9, 23871.446, .9, 31, 0, .00126, 4.03, 141.975, -3.8, -44, 0, .00124, 6.01, 522.369, 0, 0, 0, .0012, 4.94, -10071.622, -5.2, -69, 0, .00118, 5.07, -15.419, -2.2, -19, 0, .00107, 3.49, 23452.693, -3.4, -20, 0, .00104, 4.78, 17495.234, -1.3, 0, 0, .00103, 1.44, -18.049, -2.2, -19, 0, .00102, 5.63, 15542.402, -.7, 6, 0, .00102, 2.59, 15543.107, -.7, 6, 0, .001, 4.11, -6.559, -1.9, -22, 0, 97e-5, .08, 15400.779, 3.1, 50, 0, 96e-5, 5.84, 31781.385, -1.9, 5, 0, 94e-5, 1.08, 8328.363, 0, 0, 0, 94e-5, 2.46, 16799.358, -.7, 6, 0, 94e-5, 1.69, 6376.211, 2.2, 32, 0, 93e-5, 3.64, 8329.02, 3, 50, 0, 93e-5, 2.65, 16655.082, 4.6, 75, 0, 9e-4, 1.9, 15056.428, -4.4, -38, 0, 89e-5, 1.59, 52.969, 0, 0, 0, 88e-5, 2.02, -8257.704, -3.4, -47, 0, 88e-5, 3.02, 7213.711, -2.2, -19, 0, 87e-5, .5, 7214.415, -2.2, -19, 0, 87e-5, .49, 16659.684, 1.5, 25, 0, 82e-5, 5.64, -4.931, 1.5, 25, 0, 79e-5, 5.17, 13171.522, -4.3, -38, 0, 76e-5, 3.6, 29828.905, -1.3, 12, 0, 76e-5, 4.08, 24567.322, .3, 24, 0, 76e-5, 4.58, 1884.906, -.1, 0, 0, 73e-5, .33, 31713.811, -1.4, 12, 0, 73e-5, .93, 32828.439, 2.4, 56, 0, 71e-5, 5.91, 38785.898, .2, 37, 0, 69e-5, 2.2, 15613.742, -2.5, -16, 0, 66e-5, 3.87, 15.732, -2.5, -23, 0, 66e-5, .86, 25823.926, .2, 24, 0, 65e-5, 2.52, 8170.957, 1.5, 25, 0, 63e-5, .18, 8322.132, -.3, 0, 0, 6e-4, 5.84, 8326.062, 1.5, 25, 0, 6e-4, 5.15, 8331.321, 1.5, 25, 0, 6e-4, 2.18, 8486.426, 1.5, 25, 0, 58e-5, 2.3, -1.731, -4, -44, 0, 58e-5, 5.43, 14357.138, -2, -16, 0, 57e-5, 3.09, 8294.91, 2, 29, 0, 57e-5, 4.67, -8362.473, -1, -21, 0, 56e-5, 4.15, 16833.151, -1, 0, 0, 54e-5, 1.93, 7056.329, -2, -19, 0, 54e-5, 5.27, 8315.574, -2, -19, 0, 52e-5, 5.6, 8311.418, -2, -19, 0, 52e-5, 2.7, -77.552, 0, 0, 0, 51e-5, 4.3, 7230.984, 2, 25, 0, 5e-4, .4, -.508, 0, 0, 0, 49e-5, 5.4, 7211.433, -2, -19, 0, 49e-5, 4.4, 7216.693, -2, -19, 0, 49e-5, 4.3, 16864.631, 0, 24, 0, 49e-5, 2.2, 16869.234, -3, -26, 0, 47e-5, 6.1, 627.596, 0, 0, 0, 47e-5, 5, 12.619, 1, 7, 0, 45e-5, 4.9, -8815.018, -5, -69, 0, 44e-5, 1.6, 62.133, -2, -19, 0, 42e-5, 2.9, -13.118, -4, -44, 0, 42e-5, 4.1, -119.445, 0, 0, 0, 41e-5, 4.3, 22756.817, -3, -13, 0, 41e-5, 3.6, 8288.877, 2, 25, 0, 4e-4, .5, 6663.308, -2, -19, 0, 4e-4, 1.1, 8368.506, 2, 25, 0, 39e-5, 4.1, 6443.786, 2, 25, 0, 39e-5, 3.1, 16657.383, 3, 50, 0, 38e-5, .1, 16657.031, 3, 50, 0, 38e-5, 3, 16657.735, 3, 50, 0, 38e-5, 4.6, 23942.433, -1, 9, 0, 37e-5, 4.3, 15385.02, -1, 6, 0, 37e-5, 5, 548.678, 0, 0, 0, 36e-5, 1.8, 7213.352, -2, -19, 0, 36e-5, 1.7, 7214.774, -2, -19, 0, 35e-5, 1.1, 7777.936, 2, 25, 0, 35e-5, 1.6, -8.86, 0, 0, 0, 35e-5, 4.4, 23869.145, 2, 56, 0, 35e-5, 2, 6691.693, -2, -19, 0, 34e-5, 1.3, -1185.616, -2, -22, 0, 34e-5, 2.2, 23873.747, -1, 6, 0, 33e-5, 2, -235.287, 0, 0, 0, 33e-5, 3.1, 17913.987, 3, 50, 0, 33e-5, 1, 8351.233, -2, -19, 0], [.00487, 4.6693, 628.30196, -.027, 0, -.01, .00228, 2.6746, -2.3012, 1.523, 25, -.12, .0015, 3.372, 6585.76091, -2.16, -19, .1, .0012, 5.728, 14914.45233, -.64, 6, 0, .00108, 3.969, 7700.38947, 1.55, 25, -.1, 8e-4, .742, 8956.99338, 1.5, 25, -.1, 254e-6, 6.002, .3286, 1.52, 25, -.1, 21e-5, .144, 7842.3648, -2.21, -19, 0, 18e-5, 2.5, 16171.0562, -.7, 6, 0, 13e-5, .44, 8399.6791, -.4, 3, 0, 126e-6, 5.03, 8326.3902, 3, 50, 0, 12e-5, 5.77, 14286.1504, -.6, 6, 0, 118e-6, 5.96, 8330.9926, 0, 0, 0, 11e-5, 1.8, 23243.1438, .9, 31, 0, 11e-5, 3.42, 5957.459, -2.1, -19, 0, 11e-5, 4.63, 1256.6039, -.1, 0, 0, 99e-6, 4.7, -.7113, 0, 0, 0, 7e-5, .04, 16029.0809, 3.1, 50, 0, 7e-5, 5.14, 8328.3391, 1.5, 25, 0, 7e-5, 5.85, 8329.0437, 1.5, 25, 0, 6e-5, 1.02, -1742.9305, -3.7, -44, 0, 6e-5, 3.1, 17285.6848, 3, 50, 0, 54e-6, 5.69, -.352, 0, 0, 0, 43e-6, .52, 15.542, 0, 0, 0, 41e-6, 2.03, 2.63, 0, 0, 0, 4e-5, .1, 8470.667, -2.2, -19, 0, 4e-5, 4.01, 7072.088, 1.6, 25, 0, 36e-6, 2.93, -8.86, -.3, 0, 0, 3e-5, 1.2, 22128.515, -2.8, -13, 0, 3e-5, 2.54, 15542.754, -.7, 6, 0, 27e-6, 4.43, 7211.762, -.7, 6, 0, 26e-6, .51, 15540.453, .9, 31, 0, 26e-6, 1.44, 15545.055, -2.2, -19, 0, 25e-6, 5.37, 7216.364, -3.7, -44, 0], [12e-6, 1.041, -2.3012, 1.52, 25, -.1, 17e-7, .31, -.711, 0, 0, 0]]],
                    l = 648e3 / Math.PI,
                    c = new Array(-4e3, 108371.7, -13036.8, 392, 0, -500, 17201, -627.82, 16.17, -.3413, -150, 12200.6, -346.41, 5.403, -.1593, 150, 9113.8, -328.13, -1.647, .0377, 500, 5707.5, -391.41, .915, .3145, 900, 2203.4, -283.45, 13.034, -.1778, 1300, 490.1, -57.35, 2.085, -.0072, 1600, 120, -9.81, -1.532, .1403, 1700, 10.2, -.91, .51, -.037, 1800, 13.4, -.72, .202, -.0193, 1830, 7.8, -1.81, .416, -.0247, 1860, 8.3, -.13, -.406, .0292, 1880, -5.4, .32, -.183, .0173, 1900, -2.3, 2.06, .169, -.0135, 1920, 21.2, 1.69, -.304, .0167, 1940, 24.2, 1.22, -.064, .0031, 1960, 33.2, .51, .231, -.0109, 1980, 51, 1.29, -.026, .0032, 2e3, 63.87, .1, 0, 0, 2005, 64.7, .4, 0, 0, 2015, 69),
                    d = new Array(2.1824, -33.75705, 36e-6, -1720, 920, 3.5069, 1256.66393, 11e-6, -132, 57, 1.3375, 16799.4182, -51e-6, -23, 10, 4.3649, -67.5141, 72e-6, 21, -9, .04, -628.302, 0, -14, 0, 2.36, 8328.691, 0, 7, 0, 3.46, 1884.966, 0, -5, 2, 5.44, 16833.175, 0, -4, 2, 3.69, 25128.11, 0, -3, 0, 3.55, 628.362, 0, 2, 0);

                function u(t) {
                    var e = 628.301955 * t - .043126 - 2732e-9 * t * t;
                    return -20.49552 * (1 + (.016708634 - 42037e-9 * t - 1.267e-7 * t * t) * Math.cos(e)) / l
                }

                function h(t) {
                    return function (t) {
                        var e = c[c.length - 2], n = c[c.length - 1];
                        if (t >= e) {
                            if (t > e + 100) return f(t, 31);
                            var r = f(t, 31), i = f(e, 31) - n;
                            return r - i * (e + 100 - t) / 100
                        }
                        var o, s = c;
                        for (o = 0; o < s.length && !(t < s[o + 5]); o += 5) ;
                        var a = (t - s[o]) / (s[o + 5] - s[o]) * 10, l = a * a, d = l * a;
                        return s[o + 1] + s[o + 2] * a + s[o + 3] * l + s[o + 4] * d
                    }(t / 365.2425 + 2e3) / 86400
                }

                function f(t, e) {
                    var n = (t - 1820) / 100;
                    return e * n * n - 20
                }

                var p = {
                    E_Lon: function (t, e) {
                        return function (t, e, n, r) {
                            n /= 10;
                            var i, a, c, d, u, h, f, p = 0, g = 1, v = s[t], y = 6 * e + 1, m = v[y + 1] - v[y];
                            for (i = 0; i < 6; i++, g *= n) if (d = v[y + i], f = (u = v[y + 1 + i]) - d) {
                                for (r < 0 ? h = u : (h = Math.floor(3 * r * f / m + .5) + d, i && (h += 3), h > u && (h = u)), a = d, c = 0; a < h; a += 3) c += v[a] * Math.cos(v[a + 1] + n * v[a + 2]);
                                p += c * g
                            }
                            if (p /= v[0], 0 == t) {
                                var b = n * n, w = b * n;
                                0 == e && (p += (-.0728 - 2.7702 * n - 1.1019 * b - .0996 * w) / l), 1 == e && (p += (0 + 4e-4 * n + 4e-4 * b - .0026 * w) / l), 2 == e && (p += (.0044 * n - .002 + .0213 * b - .025 * w) / 1e6)
                            } else {
                                var D = o[3 * (t - 1) + e];
                                0 == e && (p += -3 * n / l), p += 2 == e ? D / 1e6 : D / l
                            }
                            return p
                        }(0, 0, t, e)
                    }, M_Lon: function (t, e) {
                        return function (t, e, n) {
                            var r, i, o, s, c, d = a[t], u = 0, h = 1, f = e * e, p = f * e, g = p * e, v = e - 10;
                            for (0 == t && (u += (3.81034409 + 8399.684730072 * e - 3319e-8 * f + 3.11e-8 * p - 2.033e-10 * g) * l, u += 5028.792262 * e + 1.1124406 * f + 7699e-8 * p - 23479e-9 * g - 1.78e-8 * (g * e), v > 0 && (u += 1.43 * v - .866 + .054 * v * v)), f /= 1e4, p /= 1e8, g /= 1e8, (n *= 6) < 0 && (n = d[0].length), r = 0; r < d.length; r++, h *= e) {
                                for (o = d[r], s = Math.floor(n * o.length / d[0].length + .5), r && (s += 6), s >= o.length && (s = o.length), i = 0, c = 0; i < s; i += 6) c += o[i] * Math.cos(o[i + 1] + e * o[i + 2] + f * o[i + 3] + p * o[i + 4] + g * o[i + 5]);
                                u += c * h
                            }
                            return 2 != t && (u /= l), u
                        }(0, t, e)
                    }, E_v: function (t) {
                        var e = 628.307585 * t;
                        return 628.332 + 21 * Math.sin(1.527 + e) + .44 * Math.sin(1.48 + 2 * e) + .129 * Math.sin(5.82 + e) * t + 55e-5 * Math.sin(4.21 + e) * t * t
                    }, M_v: function (t) {
                        var e = 8399.71 - 914 * Math.sin(.7848 + 8328.691425 * t + 1523e-7 * t * t);
                        return e -= 179 * Math.sin(2.543 + 15542.7543 * t) + 160 * Math.sin(.1874 + 7214.0629 * t) + 62 * Math.sin(3.14 + 16657.3828 * t) + 34 * Math.sin(4.827 + 16866.9323 * t) + 22 * Math.sin(4.9 + 23871.4457 * t) + 12 * Math.sin(2.59 + 14914.4523 * t) + 7 * Math.sin(.23 + 6585.7609 * t) + 5 * Math.sin(.9 + 25195.624 * t) + 5 * Math.sin(2.32 - 7700.3895 * t) + 5 * Math.sin(3.88 + 8956.9934 * t) + 5 * Math.sin(.49 + 7771.3771 * t)
                    }, MS_aLon: function (t, e, n) {
                        return this.M_Lon(t, e) + -34e-7 - (this.E_Lon(t, n) + u(t) + Math.PI)
                    }, S_aLon: function (t, e) {
                        return this.E_Lon(t, e) + function (t) {
                            var e, n, r = t * t, i = 0, o = d;
                            for (e = 0; e < o.length; e += 5) n = 0 == e ? -1.742 * t : 0, i += (o[e + 3] + n) * Math.sin(o[e] + o[e + 1] * t + o[e + 2] * r);
                            return i / 100 / l
                        }(t) + u(t) + Math.PI
                    }, MS_aLon_t: function (t) {
                        var e, n = 7771.37714500204;
                        return e = (t + 1.08472) / n, e += (t - this.MS_aLon(e, 3, 3)) / n, n = this.M_v(e) - this.E_v(e), e += (t - this.MS_aLon(e, 20, 10)) / n, e += (t - this.MS_aLon(e, -1, 60)) / n
                    }, S_aLon_t: function (t) {
                        var e, n = 628.3319653318;
                        return e = (t - 1.75347 - Math.PI) / n, n = this.E_v(e), e += (t - this.S_aLon(e, 10)) / n, n = this.E_v(e), e += (t - this.S_aLon(e, -1)) / n
                    }, MS_aLon_t2: function (t) {
                        var e, n = 7771.37714500204, r = (e = (t + 1.08472) / n) * e;
                        return e -= (-3309e-8 * r + .10976 * Math.cos(.784758 + 8328.6914246 * e + 152292e-9 * r) + .02224 * Math.cos(.1874 + 7214.0628654 * e - 21848e-8 * r) - .03342 * Math.cos(4.669257 + 628.307585 * e)) / n, e += (t - (this.M_Lon(e, 20) - (4.8950632 + 628.3319653318 * e + 5297e-9 * e * e + .0334166 * Math.cos(4.669257 + 628.307585 * e) + 2061e-7 * Math.cos(2.67823 + 628.307585 * e) * e + 349e-6 * Math.cos(4.6261 + 1256.61517 * e) - 20.5 / l))) / (n = 7771.38 - 914 * Math.sin(.7848 + 8328.691425 * e + 1523e-7 * e * e) - 179 * Math.sin(2.543 + 15542.7543 * e) - 160 * Math.sin(.1874 + 7214.0629 * e))
                    }, S_aLon_t2: function (t) {
                        var e, n = 628.3319653318;
                        return e = (t - 1.75347 - Math.PI) / n, e -= (5297e-9 * e * e + .0334166 * Math.cos(4.669257 + 628.307585 * e) + 2061e-7 * Math.cos(2.67823 + 628.307585 * e) * e) / n, e += (t - this.E_Lon(e, 8) - Math.PI + (20.5 + 17.2 * Math.sin(2.1824 - 33.75705 * e)) / l) / n
                    }
                };

                function g(t) {
                    var e = "0000000000", n = e + e, r = {
                        J: "00",
                        I: "000",
                        H: "0000",
                        G: "00000",
                        t: "01",
                        s: "001",
                        r: "0001",
                        q: "00001",
                        p: "000001",
                        o: "0000001",
                        n: "00000001",
                        m: "000000001",
                        l: "0000000001",
                        k: "03",
                        j: "0303",
                        i: "003",
                        h: "003003",
                        g: "0003",
                        f: "00003",
                        e: "000003",
                        d: "0000003",
                        c: "00000003",
                        b: "000000003",
                        a: "0000000003",
                        A: n + n + n,
                        B: n + n + e,
                        C: n + n,
                        D: n + e,
                        E: n,
                        F: e
                    };
                    return t.replace(/\D/g, (function (t) {
                        return r[t]
                    }))
                }

                window.Lunar = e, window.lunar = function (t) {
                    var n = new Date(t);
                    return +n < -0x94e9b950e00 ? null : new e(n)
                }
            }(), function () {
                var t = {
                    "正月初一": "t,春节 ",
                    "正月十五": "t,元宵节",
                    "二月初二": "t,龙头节",
                    "五月初五": "t,端午节",
                    "七月初七": "t,七夕",
                    "七月十五": "t,中元节",
                    "八月十五": "t,中秋节",
                    "九月初九": "t,重阳节",
                    "十月初一": "t,寒衣节",
                    "十月十五": "t,下元节",
                    "腊月初八": "t,腊八节",
                    "腊月廿三": "t,祭灶节",
                    "0202": "i,世界湿地日,1996",
                    "0308": "i,国际妇女节,1975",
                    "0315": "i,国际消费者权益日,1983",
                    "0422": "i,世界地球日,1990",
                    "0501": "i,国际劳动节,1889",
                    "0512": "i,国际护士节,1912",
                    "0518": "i,国际博物馆日,1977",
                    "0605": "i,世界环境日,1972",
                    "0623": "i,国际奥林匹克日,1948",
                    "0624": "i,世界骨质疏松日,1997",
                    1117: "i,世界学生日,1942",
                    1201: "i,世界爱滋病日,1988",
                    "0101": "h,元旦",
                    "0312": "h,植树节,1979",
                    "0504": "h,五四青年节,1939",
                    "0601": "h,儿童节,1950",
                    "0701": "h,建党节,1941",
                    "0801": "h,建军节,1933",
                    "0910": "h,教师节,1985",
                    1001: "h,国庆节,1949",
                    1224: "c,平安夜",
                    1225: "c,圣诞节",
                    "0214": "a,情人节",
                    w: {"0520": "i,母亲节,1913", "0630": "a,父亲节", 1144: "a,感恩节"}
                };

                function e(t) {
                    return (t < 10 ? "0" : "") + t
                }

                Lunar.prototype.festival = function () {
                    var n = this.oDate.getFullYear(), r = this.oDate.getMonth() + 1, i = this.oDate.getDate(),
                        o = e(r) + e(i), s = this.oDate.getDay(), a = Math.ceil(i / 7), l = e(r) + a + s,
                        c = this.lMonth, d = this.lDate, u = c + "月" + d, h = [];
                    "正" == this.lNextMonth && d == (this.isBigMonth ? "三十" : "廿九") && h.push("t,除夕"), t.w[l] && (h = h.concat(t.w[l].split("|"))), t[o] && (h = h.concat(t[o].split("|"))), t[u] && (h = h.concat(t[u].split("|")));
                    for (var f, p = h.length - 1; p > -1; p--) (f = h[p].split(","))[2] && n < f[2] - 0 ? h.splice(p, 1) : h[p] = {
                        type: f[0],
                        desc: f[1]
                    };
                    return h.sort((function (t, e) {
                        return e.type.charCodeAt(0) - t.type.charCodeAt(0)
                    }))
                }
            }(), "undefined" != typeof self && self, s = function (t, e) {
                return function (t) {
                    var e = {};

                    function n(r) {
                        if (e[r]) return e[r].exports;
                        var i = e[r] = {i: r, l: !1, exports: {}};
                        return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports
                    }

                    return n.m = t, n.c = e, n.d = function (t, e, r) {
                        n.o(t, e) || (0, u.default)(t, e, {configurable: !1, enumerable: !0, get: r})
                    }, n.n = function (t) {
                        var e = t && t.__esModule ? function () {
                            return t.default
                        } : function () {
                            return t
                        };
                        return n.d(e, "a", e), e
                    }, n.o = function (t, e) {
                        return Object.prototype.hasOwnProperty.call(t, e)
                    }, n.p = "", n(n.s = 236)
                }([function (e, n) {
                    e.exports = t
                }, , function (t, e) {
                    var n = d.default || {__proto__: []} instanceof Array && function (t, e) {
                        t.__proto__ = e
                    } || function (t, e) {
                        for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                    };
                    e.__extends = function (t, e) {
                        function r() {
                            this.constructor = t
                        }

                        n(t, e), t.prototype = null === e ? (0, c.default)(e) : (r.prototype = e.prototype, new r)
                    }
                }, function (t, n) {
                    t.exports = e
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(3);

                    function o(t) {
                        t.height("")
                    }

                    function s(t) {
                        var e, n = t[0].offsetWidth - t[0].clientWidth, r = t[0].offsetHeight - t[0].clientHeight;
                        return n = a(n), e = {
                            left: 0,
                            right: 0,
                            top: 0,
                            bottom: r = a(r)
                        }, null === l && (l = function () {
                            var t = i("<div><div/></div>").css({
                                position: "absolute",
                                top: -1e3,
                                left: 0,
                                border: 0,
                                padding: 0,
                                overflow: "scroll",
                                direction: "rtl"
                            }).appendTo("body"), e = t.children().offset().left > t.offset().left;
                            return t.remove(), e
                        }()), l && "rtl" === t.css("direction") ? e.left = n : e.right = n, e
                    }

                    function a(t) {
                        return t = Math.max(0, t), t = Math.round(t)
                    }

                    e.compensateScroll = function (t, e) {
                        e.left && t.css({
                            "border-left-width": 1,
                            "margin-left": e.left - 1
                        }), e.right && t.css({"border-right-width": 1, "margin-right": e.right - 1})
                    }, e.uncompensateScroll = function (t) {
                        t.css({
                            "margin-left": "",
                            "margin-right": "",
                            "border-left-width": "",
                            "border-right-width": ""
                        })
                    }, e.disableCursor = function () {
                        i("body").addClass("fc-not-allowed")
                    }, e.enableCursor = function () {
                        i("body").removeClass("fc-not-allowed")
                    }, e.distributeHeight = function (t, e, n) {
                        var r = Math.floor(e / t.length), s = Math.floor(e - r * (t.length - 1)), a = [], l = [],
                            c = [], d = 0;
                        o(t), t.each((function (e, n) {
                            var o = e === t.length - 1 ? s : r, u = i(n).outerHeight(!0);
                            u < o ? (a.push(n), l.push(u), c.push(i(n).height())) : d += u
                        })), n && (e -= d, r = Math.floor(e / a.length), s = Math.floor(e - r * (a.length - 1))), i(a).each((function (t, e) {
                            var n = t === a.length - 1 ? s : r, o = l[t], d = n - (o - c[t]);
                            o < n && i(e).height(d)
                        }))
                    }, e.undistributeHeight = o, e.matchCellWidths = function (t) {
                        var e = 0;
                        return t.find("> *").each((function (t, n) {
                            var r = i(n).outerWidth();
                            r > e && (e = r)
                        })), e++, t.width(e), e
                    }, e.subtractInnerElHeight = function (t, e) {
                        var n, r = t.add(e);
                        return r.css({
                            position: "relative",
                            left: -1
                        }), n = t.outerHeight() - e.outerHeight(), r.css({position: "", left: ""}), n
                    }, e.getScrollParent = function (t) {
                        var e = t.css("position"), n = t.parents().filter((function () {
                            var t = i(this);
                            return /(auto|scroll)/.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
                        })).eq(0);
                        return "fixed" !== e && n.length ? n : i(t[0].ownerDocument || document)
                    }, e.getOuterRect = function (t, e) {
                        var n = t.offset(), r = n.left - (e ? e.left : 0), i = n.top - (e ? e.top : 0);
                        return {left: r, right: r + t.outerWidth(), top: i, bottom: i + t.outerHeight()}
                    }, e.getClientRect = function (t, e) {
                        var n = t.offset(), r = s(t),
                            i = n.left + c(t, "border-left-width") + r.left - (e ? e.left : 0),
                            o = n.top + c(t, "border-top-width") + r.top - (e ? e.top : 0);
                        return {left: i, right: i + t[0].clientWidth, top: o, bottom: o + t[0].clientHeight}
                    }, e.getContentRect = function (t, e) {
                        var n = t.offset(),
                            r = n.left + c(t, "border-left-width") + c(t, "padding-left") - (e ? e.left : 0),
                            i = n.top + c(t, "border-top-width") + c(t, "padding-top") - (e ? e.top : 0);
                        return {left: r, right: r + t.width(), top: i, bottom: i + t.height()}
                    }, e.getScrollbarWidths = s;
                    var l = null;

                    function c(t, e) {
                        return parseFloat(t.css(e)) || 0
                    }

                    function d(t) {
                        t.preventDefault()
                    }

                    function u(t, e, n, r, i) {
                        if (n.func) return n.func(t, e);
                        var o = t[n.field], s = e[n.field];
                        return null == o && r && (o = r[n.field]), null == s && i && (s = i[n.field]), f(o, s) * (n.order || 1)
                    }

                    function f(t, e) {
                        return t || e ? null == e ? -1 : null == t ? 1 : "string" === i.type(t) || "string" === i.type(e) ? String(t).localeCompare(String(e)) : t - e : 0
                    }

                    function p(t, n) {
                        var r, i, o;
                        for (r = 0; r < e.unitsDesc.length && !((o = g(i = e.unitsDesc[r], t, n)) >= 1 && D(o)); r++) ;
                        return i
                    }

                    function g(t, e, n) {
                        return null != n ? n.diff(e, t, !0) : r.isDuration(e) ? e.as(t) : e.end.diff(e.start, t, !0)
                    }

                    function v(t) {
                        return Boolean(t.hours() || t.minutes() || t.seconds() || t.milliseconds())
                    }

                    function y() {
                        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                        var n = window.console;
                        if (n && n.log) return n.log.apply(n, t)
                    }

                    e.isPrimaryMouseButton = function (t) {
                        return 1 === t.which && !t.ctrlKey
                    }, e.getEvX = function (t) {
                        var e = t.originalEvent.touches;
                        return e && e.length ? e[0].pageX : t.pageX
                    }, e.getEvY = function (t) {
                        var e = t.originalEvent.touches;
                        return e && e.length ? e[0].pageY : t.pageY
                    }, e.getEvIsTouch = function (t) {
                        return /^touch/.test(t.type)
                    }, e.preventSelection = function (t) {
                        t.addClass("fc-unselectable").on("selectstart", d)
                    }, e.allowSelection = function (t) {
                        t.removeClass("fc-unselectable").off("selectstart", d)
                    }, e.preventDefault = d, e.intersectRects = function (t, e) {
                        var n = {
                            left: Math.max(t.left, e.left),
                            right: Math.min(t.right, e.right),
                            top: Math.max(t.top, e.top),
                            bottom: Math.min(t.bottom, e.bottom)
                        };
                        return n.left < n.right && n.top < n.bottom && n
                    }, e.constrainPoint = function (t, e) {
                        return {
                            left: Math.min(Math.max(t.left, e.left), e.right),
                            top: Math.min(Math.max(t.top, e.top), e.bottom)
                        }
                    }, e.getRectCenter = function (t) {
                        return {left: (t.left + t.right) / 2, top: (t.top + t.bottom) / 2}
                    }, e.diffPoints = function (t, e) {
                        return {left: t.left - e.left, top: t.top - e.top}
                    }, e.parseFieldSpecs = function (t) {
                        var e, n, r = [], o = [];
                        for ("string" == typeof t ? o = t.split(/\s*,\s*/) : "function" == typeof t ? o = [t] : i.isArray(t) && (o = t), e = 0; e < o.length; e++) "string" == typeof (n = o[e]) ? r.push("-" === n.charAt(0) ? {
                            field: n.substring(1),
                            order: -1
                        } : {field: n, order: 1}) : "function" == typeof n && r.push({func: n});
                        return r
                    }, e.compareByFieldSpecs = function (t, e, n, r, i) {
                        var o, s;
                        for (o = 0; o < n.length; o++) if (s = u(t, e, n[o], r, i)) return s;
                        return 0
                    }, e.compareByFieldSpec = u, e.flexibleCompare = f, e.dayIDs = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"], e.unitsDesc = ["year", "month", "week", "day", "hour", "minute", "second", "millisecond"], e.diffDayTime = function (t, e) {
                        return r.duration({
                            days: t.clone().stripTime().diff(e.clone().stripTime(), "days"),
                            ms: t.time() - e.time()
                        })
                    }, e.diffDay = function (t, e) {
                        return r.duration({days: t.clone().stripTime().diff(e.clone().stripTime(), "days")})
                    }, e.diffByUnit = function (t, e, n) {
                        return r.duration(Math.round(t.diff(e, n, !0)), n)
                    }, e.computeGreatestUnit = p, e.computeDurationGreatestUnit = function (t, e) {
                        var n = p(t);
                        return "week" === n && "object" === (void 0 === e ? "undefined" : (0, h.default)(e)) && e.days && (n = "day"), n
                    }, e.divideRangeByDuration = function (t, e, n) {
                        var r;
                        return v(n) ? (e - t) / n : (r = n.asMonths(), Math.abs(r) >= 1 && D(r) ? e.diff(t, "months", !0) / r : e.diff(t, "days", !0) / n.asDays())
                    }, e.divideDurationByDuration = function (t, e) {
                        var n, r;
                        return v(t) || v(e) ? t / e : (n = t.asMonths(), r = e.asMonths(), Math.abs(n) >= 1 && D(n) && Math.abs(r) >= 1 && D(r) ? n / r : t.asDays() / e.asDays())
                    }, e.multiplyDuration = function (t, e) {
                        var n;
                        return v(t) ? r.duration(t * e) : (n = t.asMonths(), Math.abs(n) >= 1 && D(n) ? r.duration({months: n * e}) : r.duration({days: t.asDays() * e}))
                    }, e.durationHasTime = v, e.isNativeDate = function (t) {
                        return "[object Date]" === Object.prototype.toString.call(t) || t instanceof Date
                    }, e.isTimeString = function (t) {
                        return "string" == typeof t && /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t)
                    }, e.log = y, e.warn = function () {
                        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                        var n = window.console;
                        return n && n.warn ? n.warn.apply(n, t) : y.apply(null, t)
                    };
                    var m = {}.hasOwnProperty;

                    function b(t, e) {
                        return m.call(t, e)
                    }

                    function w(t) {
                        return (t + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&#039;").replace(/"/g, "&quot;").replace(/\n/g, "<br />")
                    }

                    function D(t) {
                        return t % 1 == 0
                    }

                    e.mergeProps = function t(e, n) {
                        var r, i, o, s, a, l, c = {};
                        if (n) for (r = 0; r < n.length; r++) {
                            for (i = n[r], o = [], s = e.length - 1; s >= 0; s--) if ("object" === (void 0 === (a = e[s][i]) ? "undefined" : (0, h.default)(a))) o.unshift(a); else if (void 0 !== a) {
                                c[i] = a;
                                break
                            }
                            o.length && (c[i] = t(o))
                        }
                        for (r = e.length - 1; r >= 0; r--) for (i in l = e[r]) i in c || (c[i] = l[i]);
                        return c
                    }, e.copyOwnProps = function (t, e) {
                        for (var n in t) b(t, n) && (e[n] = t[n])
                    }, e.hasOwnProp = b, e.applyAll = function (t, e, n) {
                        if (i.isFunction(t) && (t = [t]), t) {
                            var r = void 0, o = void 0;
                            for (r = 0; r < t.length; r++) o = t[r].apply(e, n) || o;
                            return o
                        }
                    }, e.removeMatching = function (t, e) {
                        for (var n = 0, r = 0; r < t.length;) e(t[r]) ? (t.splice(r, 1), n++) : r++;
                        return n
                    }, e.removeExact = function (t, e) {
                        for (var n = 0, r = 0; r < t.length;) t[r] === e ? (t.splice(r, 1), n++) : r++;
                        return n
                    }, e.isArraysEqual = function (t, e) {
                        var n, r = t.length;
                        if (null == r || r !== e.length) return !1;
                        for (n = 0; n < r; n++) if (t[n] !== e[n]) return !1;
                        return !0
                    }, e.firstDefined = function () {
                        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                        for (var n = 0; n < t.length; n++) if (void 0 !== t[n]) return t[n]
                    }, e.htmlEscape = w, e.stripHtmlEntities = function (t) {
                        return t.replace(/&.*?;/g, "")
                    }, e.cssToStr = function (t) {
                        var e = [];
                        return i.each(t, (function (t, n) {
                            null != n && e.push(t + ":" + n)
                        })), e.join(";")
                    }, e.attrsToStr = function (t) {
                        var e = [];
                        return i.each(t, (function (t, n) {
                            null != n && e.push(t + '="' + w(n) + '"')
                        })), e.join(" ")
                    }, e.capitaliseFirstLetter = function (t) {
                        return t.charAt(0).toUpperCase() + t.slice(1)
                    }, e.compareNumbers = function (t, e) {
                        return t - e
                    }, e.isInt = D, e.proxy = function (t, e) {
                        var n = t[e];
                        return function () {
                            return n.apply(t, arguments)
                        }
                    }, e.debounce = function (t, e, n) {
                        var r, i, o, s, a;
                        void 0 === n && (n = !1);
                        var l = function l() {
                            var c = +new Date - s;
                            c < e ? r = setTimeout(l, e - c) : (r = null, n || (a = t.apply(o, i), o = i = null))
                        };
                        return function () {
                            o = this, i = arguments, s = +new Date;
                            var c = n && !r;
                            return r || (r = setTimeout(l, e)), c && (a = t.apply(o, i), o = i = null), a
                        }
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(10), o = function () {
                        function t(t, e) {
                            this.isStart = !0, this.isEnd = !0, r.isMoment(t) && (t = t.clone().stripZone()), r.isMoment(e) && (e = e.clone().stripZone()), t && (this.startMs = t.valueOf()), e && (this.endMs = e.valueOf())
                        }

                        return t.invertRanges = function (e, n) {
                            var r, i, o = [], a = n.startMs;
                            for (e.sort(s), r = 0; r < e.length; r++) (i = e[r]).startMs > a && o.push(new t(a, i.startMs)), i.endMs > a && (a = i.endMs);
                            return a < n.endMs && o.push(new t(a, n.endMs)), o
                        }, t.prototype.intersect = function (e) {
                            var n = this.startMs, r = this.endMs, i = null;
                            return null != e.startMs && (n = null == n ? e.startMs : Math.max(n, e.startMs)), null != e.endMs && (r = null == r ? e.endMs : Math.min(r, e.endMs)), (null == n || null == r || n < r) && ((i = new t(n, r)).isStart = this.isStart && n === this.startMs, i.isEnd = this.isEnd && r === this.endMs), i
                        }, t.prototype.intersectsWith = function (t) {
                            return (null == this.endMs || null == t.startMs || this.endMs > t.startMs) && (null == this.startMs || null == t.endMs || this.startMs < t.endMs)
                        }, t.prototype.containsRange = function (t) {
                            return (null == this.startMs || null != t.startMs && t.startMs >= this.startMs) && (null == this.endMs || null != t.endMs && t.endMs <= this.endMs)
                        }, t.prototype.containsDate = function (t) {
                            var e = t.valueOf();
                            return (null == this.startMs || e >= this.startMs) && (null == this.endMs || e < this.endMs)
                        }, t.prototype.constrainDate = function (t) {
                            var e = t.valueOf();
                            return null != this.startMs && e < this.startMs && (e = this.startMs), null != this.endMs && e >= this.endMs && (e = this.endMs - 1), e
                        }, t.prototype.equals = function (t) {
                            return this.startMs === t.startMs && this.endMs === t.endMs
                        }, t.prototype.clone = function () {
                            var e = new t(this.startMs, this.endMs);
                            return e.isStart = this.isStart, e.isEnd = this.isEnd, e
                        }, t.prototype.getStart = function () {
                            return null != this.startMs ? i.default.utc(this.startMs).stripZone() : null
                        }, t.prototype.getEnd = function () {
                            return null != this.endMs ? i.default.utc(this.endMs).stripZone() : null
                        }, t.prototype.as = function (t) {
                            return r.utc(this.endMs).diff(r.utc(this.startMs), t, !0)
                        }, t
                    }();

                    function s(t, e) {
                        return t.startMs - e.startMs
                    }

                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(208), s = n(33), a = n(49), l = function (t) {
                        function e(n) {
                            var r = t.call(this) || this;
                            return r.calendar = n, r.className = [], r.uid = String(e.uuid++), r
                        }

                        return r.__extends(e, t), e.parse = function (t, e) {
                            var n = new this(e);
                            return !("object" !== (void 0 === t ? "undefined" : (0, h.default)(t)) || !n.applyProps(t)) && n
                        }, e.normalizeId = function (t) {
                            return t ? String(t) : null
                        }, e.prototype.fetch = function (t, e, n) {
                        }, e.prototype.removeEventDefsById = function (t) {
                        }, e.prototype.removeAllEventDefs = function () {
                        }, e.prototype.getPrimitive = function (t) {
                        }, e.prototype.parseEventDefs = function (t) {
                            var e, n, r = [];
                            for (e = 0; e < t.length; e++) (n = this.parseEventDef(t[e])) && r.push(n);
                            return r
                        }, e.prototype.parseEventDef = function (t) {
                            var e = this.calendar.opt("eventDataTransform"), n = this.eventDataTransform;
                            return e && (t = e(t, this.calendar)), n && (t = n(t, this.calendar)), a.default.parse(t, this)
                        }, e.prototype.applyManualStandardProps = function (t) {
                            return null != t.id && (this.id = e.normalizeId(t.id)), i.isArray(t.className) ? this.className = t.className : "string" == typeof t.className && (this.className = t.className.split(/\s+/)), !0
                        }, e.uuid = 0, e.defineStandardProps = o.default.defineStandardProps, e.copyVerbatimStandardProps = o.default.copyVerbatimStandardProps, e
                    }(s.default);
                    e.default = l, o.default.mixInto(l), l.defineStandardProps({
                        id: !1,
                        className: !1,
                        color: !0,
                        backgroundColor: !0,
                        borderColor: !0,
                        textColor: !0,
                        editable: !0,
                        startEditable: !0,
                        durationEditable: !0,
                        rendering: !0,
                        overlap: !0,
                        constraint: !0,
                        allDayDefault: !0,
                        eventDataTransform: !0
                    })
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(14), s = 0, a = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.listenTo = function (t, e, n) {
                            if ("object" === (void 0 === e ? "undefined" : (0, h.default)(e))) for (var r in e) e.hasOwnProperty(r) && this.listenTo(t, r, e[r]); else "string" == typeof e && t.on(e + "." + this.getListenerNamespace(), i.proxy(n, this))
                        }, e.prototype.stopListeningTo = function (t, e) {
                            t.off((e || "") + "." + this.getListenerNamespace())
                        }, e.prototype.getListenerNamespace = function () {
                            return null == this.listenerId && (this.listenerId = s++), "_listener" + this.listenerId
                        }, e
                    }(o.default);
                    e.default = a
                }, , , function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(3), o = n(4), s = /^\s*\d{4}-\d\d$/,
                        a = /^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,
                        l = r.fn;
                    e.newMomentProto = l;
                    var c = i.extend({}, l);
                    e.oldMomentProto = c;
                    var d = r.momentProperties;
                    d.push("_fullCalendar"), d.push("_ambigTime"), d.push("_ambigZone"), e.oldMomentFormat = function (t, e) {
                        return c.format.call(t, e)
                    };
                    var u = function () {
                        return h(arguments)
                    };

                    function h(t, e, n) {
                        void 0 === e && (e = !1), void 0 === n && (n = !1);
                        var l, c, d, u, h = t[0], f = 1 === t.length && "string" == typeof h;
                        return r.isMoment(h) || o.isNativeDate(h) || void 0 === h ? u = r.apply(null, t) : (l = !1, c = !1, f ? s.test(h) ? (t = [h += "-01"], l = !0, c = !0) : (d = a.exec(h)) && (l = !d[5], c = !0) : i.isArray(h) && (c = !0), u = e || l ? r.utc.apply(r, t) : r.apply(null, t), l ? (u._ambigTime = !0, u._ambigZone = !0) : n && (c ? u._ambigZone = !0 : f && u.utcOffset(h))), u._fullCalendar = !0, u
                    }

                    e.default = u, u.utc = function () {
                        var t = h(arguments, !0);
                        return t.hasTime() && t.utc(), t
                    }, u.parseZone = function () {
                        return h(arguments, !0, !0)
                    }, l.week = l.weeks = function (t) {
                        var e = this._locale._fullCalendar_weekCalc;
                        return null == t && "function" == typeof e ? e(this) : "ISO" === e ? c.isoWeek.apply(this, arguments) : c.week.apply(this, arguments)
                    }, l.time = function (t) {
                        if (!this._fullCalendar) return c.time.apply(this, arguments);
                        if (null == t) return r.duration({
                            hours: this.hours(),
                            minutes: this.minutes(),
                            seconds: this.seconds(),
                            milliseconds: this.milliseconds()
                        });
                        this._ambigTime = !1, r.isDuration(t) || r.isMoment(t) || (t = r.duration(t));
                        var e = 0;
                        return r.isDuration(t) && (e = 24 * Math.floor(t.asDays())), this.hours(e + t.hours()).minutes(t.minutes()).seconds(t.seconds()).milliseconds(t.milliseconds())
                    }, l.stripTime = function () {
                        return this._ambigTime || (this.utc(!0), this.set({
                            hours: 0,
                            minutes: 0,
                            seconds: 0,
                            ms: 0
                        }), this._ambigTime = !0, this._ambigZone = !0), this
                    }, l.hasTime = function () {
                        return !this._ambigTime
                    }, l.stripZone = function () {
                        var t;
                        return this._ambigZone || (t = this._ambigTime, this.utc(!0), this._ambigTime = t || !1, this._ambigZone = !0), this
                    }, l.hasZone = function () {
                        return !this._ambigZone
                    }, l.local = function (t) {
                        return c.local.call(this, this._ambigZone || t), this._ambigTime = !1, this._ambigZone = !1, this
                    }, l.utc = function (t) {
                        return c.utc.call(this, t), this._ambigTime = !1, this._ambigZone = !1, this
                    }, l.utcOffset = function (t) {
                        return null != t && (this._ambigTime = !1, this._ambigZone = !1), c.utcOffset.apply(this, arguments)
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.on = function (t, e) {
                            return i(this).on(t, this._prepareIntercept(e)), this
                        }, e.prototype.one = function (t, e) {
                            return i(this).one(t, this._prepareIntercept(e)), this
                        }, e.prototype._prepareIntercept = function (t) {
                            var e = function (e, n) {
                                return t.apply(n.context || this, n.args || [])
                            };
                            return t.guid || (t.guid = i.guid++), e.guid = t.guid, e
                        }, e.prototype.off = function (t, e) {
                            return i(this).off(t, e), this
                        }, e.prototype.trigger = function (t) {
                            for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
                            return i(this).triggerHandler(t, {args: e}), this
                        }, e.prototype.triggerWith = function (t, e, n) {
                            return i(this).triggerHandler(t, {context: e, args: n}), this
                        }, e.prototype.hasHandlers = function (t) {
                            var e = i._data(this, "events");
                            return e && e[t] && e[t].length > 0
                        }, e
                    }(n(14).default);
                    e.default = o
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t, e) {
                            this.isAllDay = !1, this.unzonedRange = t, this.isAllDay = e
                        }

                        return t.prototype.toLegacy = function (t) {
                            return {
                                start: t.msToMoment(this.unzonedRange.startMs, this.isAllDay),
                                end: t.msToMoment(this.unzonedRange.endMs, this.isAllDay)
                            }
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(34), o = n(209), s = n(17), a = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.buildInstances = function () {
                            return [this.buildInstance()]
                        }, e.prototype.buildInstance = function () {
                            return new o.default(this, this.dateProfile)
                        }, e.prototype.isAllDay = function () {
                            return this.dateProfile.isAllDay()
                        }, e.prototype.clone = function () {
                            var e = t.prototype.clone.call(this);
                            return e.dateProfile = this.dateProfile, e
                        }, e.prototype.rezone = function () {
                            var t = this.source.calendar, e = this.dateProfile;
                            this.dateProfile = new s.default(t.moment(e.start), e.end ? t.moment(e.end) : null, t)
                        }, e.prototype.applyManualStandardProps = function (e) {
                            var n = t.prototype.applyManualStandardProps.call(this, e),
                                r = s.default.parse(e, this.source);
                            return !!r && (this.dateProfile = r, null != e.date && (this.miscProps.date = e.date), n)
                        }, e
                    }(i.default);
                    e.default = a, a.defineStandardProps({start: !1, date: !1, end: !1, allDay: !1})
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t() {
                        }

                        return t.mixInto = function (t) {
                            var e = this;
                            (0, l.default)(this.prototype).forEach((function (n) {
                                t.prototype[n] || (t.prototype[n] = e.prototype[n])
                            }))
                        }, t.mixOver = function (t) {
                            var e = this;
                            (0, l.default)(this.prototype).forEach((function (n) {
                                t.prototype[n] = e.prototype[n]
                            }))
                        }, t
                    }();
                    e.default = n
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t) {
                            this.view = t._getView(), this.component = t
                        }

                        return t.prototype.opt = function (t) {
                            return this.view.opt(t)
                        }, t.prototype.end = function () {
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0}), e.version = "3.9.0", e.internalApiVersion = 12;
                    var r = n(4);
                    e.applyAll = r.applyAll, e.debounce = r.debounce, e.isInt = r.isInt, e.htmlEscape = r.htmlEscape, e.cssToStr = r.cssToStr, e.proxy = r.proxy, e.capitaliseFirstLetter = r.capitaliseFirstLetter, e.getOuterRect = r.getOuterRect, e.getClientRect = r.getClientRect, e.getContentRect = r.getContentRect, e.getScrollbarWidths = r.getScrollbarWidths, e.preventDefault = r.preventDefault, e.parseFieldSpecs = r.parseFieldSpecs, e.compareByFieldSpecs = r.compareByFieldSpecs, e.compareByFieldSpec = r.compareByFieldSpec, e.flexibleCompare = r.flexibleCompare, e.computeGreatestUnit = r.computeGreatestUnit, e.divideRangeByDuration = r.divideRangeByDuration, e.divideDurationByDuration = r.divideDurationByDuration, e.multiplyDuration = r.multiplyDuration, e.durationHasTime = r.durationHasTime, e.log = r.log, e.warn = r.warn, e.removeExact = r.removeExact, e.intersectRects = r.intersectRects;
                    var i = n(47);
                    e.formatDate = i.formatDate, e.formatRange = i.formatRange, e.queryMostGranularFormatUnit = i.queryMostGranularFormatUnit;
                    var o = n(31);
                    e.datepickerLocale = o.datepickerLocale, e.locale = o.locale;
                    var s = n(10);
                    e.moment = s.default;
                    var a = n(11);
                    e.EmitterMixin = a.default;
                    var l = n(7);
                    e.ListenerMixin = l.default;
                    var c = n(48);
                    e.Model = c.default;
                    var d = n(207);
                    e.Constraints = d.default;
                    var u = n(5);
                    e.UnzonedRange = u.default;
                    var h = n(12);
                    e.ComponentFootprint = h.default;
                    var f = n(212);
                    e.BusinessHourGenerator = f.default;
                    var p = n(34);
                    e.EventDef = p.default;
                    var g = n(37);
                    e.EventDefMutation = g.default;
                    var v = n(38);
                    e.EventSourceParser = v.default;
                    var y = n(6);
                    e.EventSource = y.default;
                    var m = n(51);
                    e.defineThemeSystem = m.defineThemeSystem;
                    var b = n(18);
                    e.EventInstanceGroup = b.default;
                    var w = n(52);
                    e.ArrayEventSource = w.default;
                    var D = n(215);
                    e.FuncEventSource = D.default;
                    var E = n(216);
                    e.JsonFeedEventSource = E.default;
                    var S = n(36);
                    e.EventFootprint = S.default;
                    var C = n(33);
                    e.Class = C.default;
                    var M = n(14);
                    e.Mixin = M.default;
                    var x = n(53);
                    e.CoordCache = x.default;
                    var R = n(54);
                    e.DragListener = R.default;
                    var T = n(20);
                    e.Promise = T.default;
                    var k = n(217);
                    e.TaskQueue = k.default;
                    var I = n(218);
                    e.RenderQueue = I.default;
                    var F = n(39);
                    e.Scroller = F.default;
                    var _ = n(19);
                    e.Theme = _.default;
                    var H = n(219);
                    e.DateComponent = H.default;
                    var P = n(40);
                    e.InteractiveDateComponent = P.default;
                    var z = n(220);
                    e.Calendar = z.default;
                    var A = n(41);
                    e.View = A.default;
                    var O = n(22);
                    e.defineView = O.defineView, e.getViewConfig = O.getViewConfig;
                    var B = n(55);
                    e.DayTableMixin = B.default;
                    var j = n(56);
                    e.BusinessHourRenderer = j.default;
                    var L = n(42);
                    e.EventRenderer = L.default;
                    var N = n(57);
                    e.FillRenderer = N.default;
                    var V = n(58);
                    e.HelperRenderer = V.default;
                    var G = n(222);
                    e.ExternalDropping = G.default;
                    var U = n(223);
                    e.EventResizing = U.default;
                    var q = n(59);
                    e.EventPointing = q.default;
                    var W = n(224);
                    e.EventDragging = W.default;
                    var Y = n(225);
                    e.DateSelecting = Y.default;
                    var $ = n(60);
                    e.StandardInteractionsMixin = $.default;
                    var Z = n(226);
                    e.AgendaView = Z.default;
                    var J = n(227);
                    e.TimeGrid = J.default;
                    var X = n(61);
                    e.DayGrid = X.default;
                    var Q = n(62);
                    e.BasicView = Q.default;
                    var K = n(229);
                    e.MonthView = K.default;
                    var tt = n(230);
                    e.ListView = tt.default
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(5), i = function () {
                        function t(t, e, n) {
                            this.start = t, this.end = e || null, this.unzonedRange = this.buildUnzonedRange(n)
                        }

                        return t.parse = function (e, n) {
                            var r = e.start || e.date, i = e.end;
                            if (!r) return !1;
                            var o = n.calendar, s = o.moment(r), a = i ? o.moment(i) : null, l = e.allDay,
                                c = o.opt("forceEventDuration");
                            return !!s.isValid() && (!a || a.isValid() && a.isAfter(s) || (a = null), null == l && null == (l = n.allDayDefault) && (l = o.opt("allDayDefault")), !0 === l ? (s.stripTime(), a && a.stripTime()) : !1 === l && (s.hasTime() || s.time(0), a && !a.hasTime() && a.time(0)), !a && c && (a = o.getDefaultEventEnd(!s.hasTime(), s)), new t(s, a, o))
                        }, t.isStandardProp = function (t) {
                            return "start" === t || "date" === t || "end" === t || "allDay" === t
                        }, t.prototype.isAllDay = function () {
                            return !(this.start.hasTime() || this.end && this.end.hasTime())
                        }, t.prototype.buildUnzonedRange = function (t) {
                            var e = this.start.clone().stripZone().valueOf(), n = this.getEnd(t).stripZone().valueOf();
                            return new r.default(e, n)
                        }, t.prototype.getEnd = function (t) {
                            return this.end ? this.end.clone() : t.getDefaultEventEnd(this.isAllDay(), this.start)
                        }, t
                    }();
                    e.default = i
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(5), i = n(35), o = n(211), s = function () {
                        function t(t) {
                            this.eventInstances = t || []
                        }

                        return t.prototype.getAllEventRanges = function (t) {
                            return t ? this.sliceNormalRenderRanges(t) : this.eventInstances.map(i.eventInstanceToEventRange)
                        }, t.prototype.sliceRenderRanges = function (t) {
                            return this.isInverse() ? this.sliceInverseRenderRanges(t) : this.sliceNormalRenderRanges(t)
                        }, t.prototype.sliceNormalRenderRanges = function (t) {
                            var e, n, r, i = this.eventInstances, s = [];
                            for (e = 0; e < i.length; e++) (r = (n = i[e]).dateProfile.unzonedRange.intersect(t)) && s.push(new o.default(r, n.def, n));
                            return s
                        }, t.prototype.sliceInverseRenderRanges = function (t) {
                            var e = this.eventInstances.map(i.eventInstanceToUnzonedRange), n = this.getEventDef();
                            return (e = r.default.invertRanges(e, t)).map((function (t) {
                                return new o.default(t, n)
                            }))
                        }, t.prototype.isInverse = function () {
                            return this.getEventDef().hasInverseRendering()
                        }, t.prototype.getEventDef = function () {
                            return this.explicitEventDef || this.eventInstances[0].def
                        }, t
                    }();
                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = function () {
                        function t(t) {
                            this.optionsManager = t, this.processIconOverride()
                        }

                        return t.prototype.processIconOverride = function () {
                            this.iconOverrideOption && this.setIconOverride(this.optionsManager.get(this.iconOverrideOption))
                        }, t.prototype.setIconOverride = function (t) {
                            var e, n;
                            if (r.isPlainObject(t)) {
                                for (n in e = r.extend({}, this.iconClasses), t) e[n] = this.applyIconOverridePrefix(t[n]);
                                this.iconClasses = e
                            } else !1 === t && (this.iconClasses = {})
                        }, t.prototype.applyIconOverridePrefix = function (t) {
                            var e = this.iconOverridePrefix;
                            return e && 0 !== t.indexOf(e) && (t = e + t), t
                        }, t.prototype.getClass = function (t) {
                            return this.classes[t] || ""
                        }, t.prototype.getIconClass = function (t) {
                            var e = this.iconClasses[t];
                            return e ? this.baseIconClass + " " + e : ""
                        }, t.prototype.getCustomButtonIconClass = function (t) {
                            var e;
                            return this.iconOverrideCustomButtonOption && (e = t[this.iconOverrideCustomButtonOption]) ? this.baseIconClass + " " + this.applyIconOverridePrefix(e) : ""
                        }, t
                    }();
                    e.default = i, i.prototype.classes = {}, i.prototype.iconClasses = {}, i.prototype.baseIconClass = "", i.prototype.iconOverridePrefix = ""
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = {
                        construct: function (t) {
                            var e = r.Deferred(), n = e.promise();
                            return "function" == typeof t && t((function (t) {
                                e.resolve(t), o(n, t)
                            }), (function () {
                                e.reject(), s(n)
                            })), n
                        }, resolve: function (t) {
                            var e = r.Deferred().resolve(t).promise();
                            return o(e, t), e
                        }, reject: function () {
                            var t = r.Deferred().reject().promise();
                            return s(t), t
                        }
                    };

                    function o(t, e) {
                        t.then = function (n) {
                            return "function" == typeof n ? i.resolve(n(e)) : t
                        }
                    }

                    function s(t) {
                        t.then = function (e, n) {
                            return "function" == typeof n && n(), t
                        }
                    }

                    e.default = i
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(16), o = n(11), s = n(7);
                    i.touchMouseIgnoreWait = 500;
                    var a = null, l = 0, c = function () {
                        function t() {
                            this.isTouching = !1, this.mouseIgnoreDepth = 0
                        }

                        return t.get = function () {
                            return a || (a = new t).bind(), a
                        }, t.needed = function () {
                            t.get(), l++
                        }, t.unneeded = function () {
                            --l || (a.unbind(), a = null)
                        }, t.prototype.bind = function () {
                            var t = this;
                            this.listenTo(r(document), {
                                touchstart: this.handleTouchStart,
                                touchcancel: this.handleTouchCancel,
                                touchend: this.handleTouchEnd,
                                mousedown: this.handleMouseDown,
                                mousemove: this.handleMouseMove,
                                mouseup: this.handleMouseUp,
                                click: this.handleClick,
                                selectstart: this.handleSelectStart,
                                contextmenu: this.handleContextMenu
                            }), window.addEventListener("touchmove", this.handleTouchMoveProxy = function (e) {
                                t.handleTouchMove(r.Event(e))
                            }, {passive: !1}), window.addEventListener("scroll", this.handleScrollProxy = function (e) {
                                t.handleScroll(r.Event(e))
                            }, !0)
                        }, t.prototype.unbind = function () {
                            this.stopListeningTo(r(document)), window.removeEventListener("touchmove", this.handleTouchMoveProxy), window.removeEventListener("scroll", this.handleScrollProxy, !0)
                        }, t.prototype.handleTouchStart = function (t) {
                            this.stopTouch(t, !0), this.isTouching = !0, this.trigger("touchstart", t)
                        }, t.prototype.handleTouchMove = function (t) {
                            this.isTouching && this.trigger("touchmove", t)
                        }, t.prototype.handleTouchCancel = function (t) {
                            this.isTouching && (this.trigger("touchcancel", t), this.stopTouch(t))
                        }, t.prototype.handleTouchEnd = function (t) {
                            this.stopTouch(t)
                        }, t.prototype.handleMouseDown = function (t) {
                            this.shouldIgnoreMouse() || this.trigger("mousedown", t)
                        }, t.prototype.handleMouseMove = function (t) {
                            this.shouldIgnoreMouse() || this.trigger("mousemove", t)
                        }, t.prototype.handleMouseUp = function (t) {
                            this.shouldIgnoreMouse() || this.trigger("mouseup", t)
                        }, t.prototype.handleClick = function (t) {
                            this.shouldIgnoreMouse() || this.trigger("click", t)
                        }, t.prototype.handleSelectStart = function (t) {
                            this.trigger("selectstart", t)
                        }, t.prototype.handleContextMenu = function (t) {
                            this.trigger("contextmenu", t)
                        }, t.prototype.handleScroll = function (t) {
                            this.trigger("scroll", t)
                        }, t.prototype.stopTouch = function (t, e) {
                            void 0 === e && (e = !1), this.isTouching && (this.isTouching = !1, this.trigger("touchend", t), e || this.startTouchMouseIgnore())
                        }, t.prototype.startTouchMouseIgnore = function () {
                            var t = this, e = i.touchMouseIgnoreWait;
                            e && (this.mouseIgnoreDepth++, setTimeout((function () {
                                t.mouseIgnoreDepth--
                            }), e))
                        }, t.prototype.shouldIgnoreMouse = function () {
                            return this.isTouching || Boolean(this.mouseIgnoreDepth)
                        }, t
                    }();
                    e.default = c, s.default.mixInto(c), o.default.mixInto(c)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(16);
                    e.viewHash = {}, r.views = e.viewHash, e.defineView = function (t, n) {
                        e.viewHash[t] = n
                    }, e.getViewConfig = function (t) {
                        return e.viewHash[t]
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function (t) {
                        function e(e, n) {
                            var r = t.call(this, n) || this;
                            return r.component = e, r
                        }

                        return r.__extends(e, t), e.prototype.handleInteractionStart = function (e) {
                            var n, r, o, s = this.subjectEl;
                            this.component.hitsNeeded(), this.computeScrollBounds(), e ? (o = r = {
                                left: i.getEvX(e),
                                top: i.getEvY(e)
                            }, s && (n = i.getOuterRect(s), o = i.constrainPoint(o, n)), this.origHit = this.queryHit(o.left, o.top), s && this.options.subjectCenter && (this.origHit && (n = i.intersectRects(this.origHit, n) || n), o = i.getRectCenter(n)), this.coordAdjust = i.diffPoints(o, r)) : (this.origHit = null, this.coordAdjust = null), t.prototype.handleInteractionStart.call(this, e)
                        }, e.prototype.handleDragStart = function (e) {
                            var n;
                            t.prototype.handleDragStart.call(this, e), (n = this.queryHit(i.getEvX(e), i.getEvY(e))) && this.handleHitOver(n)
                        }, e.prototype.handleDrag = function (e, n, r) {
                            var o;
                            t.prototype.handleDrag.call(this, e, n, r), s(o = this.queryHit(i.getEvX(r), i.getEvY(r)), this.hit) || (this.hit && this.handleHitOut(), o && this.handleHitOver(o))
                        }, e.prototype.handleDragEnd = function (e) {
                            this.handleHitDone(), t.prototype.handleDragEnd.call(this, e)
                        }, e.prototype.handleHitOver = function (t) {
                            var e = s(t, this.origHit);
                            this.hit = t, this.trigger("hitOver", this.hit, e, this.origHit)
                        }, e.prototype.handleHitOut = function () {
                            this.hit && (this.trigger("hitOut", this.hit), this.handleHitDone(), this.hit = null)
                        }, e.prototype.handleHitDone = function () {
                            this.hit && this.trigger("hitDone", this.hit)
                        }, e.prototype.handleInteractionEnd = function (e, n) {
                            t.prototype.handleInteractionEnd.call(this, e, n), this.origHit = null, this.hit = null, this.component.hitsNotNeeded()
                        }, e.prototype.handleScrollEnd = function () {
                            t.prototype.handleScrollEnd.call(this), this.isDragging && (this.component.releaseHits(), this.component.prepareHits())
                        }, e.prototype.queryHit = function (t, e) {
                            return this.coordAdjust && (t += this.coordAdjust.left, e += this.coordAdjust.top), this.component.queryHit(t, e)
                        }, e
                    }(n(54).default);

                    function s(t, e) {
                        return !t && !e || !(!t || !e) && t.component === e.component && a(t, e) && a(e, t)
                    }

                    function a(t, e) {
                        for (var n in t) if (!/^(component|left|right|top|bottom)$/.test(n) && t[n] !== e[n]) return !1;
                        return !0
                    }

                    e.default = o
                }, , , , , , , , function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(0), o = n(16), s = n(32), a = n(4);
                    e.localeOptionHash = {}, o.locales = e.localeOptionHash;
                    var l = {
                        buttonText: function (t) {
                            return {
                                prev: a.stripHtmlEntities(t.prevText),
                                next: a.stripHtmlEntities(t.nextText),
                                today: a.stripHtmlEntities(t.currentText)
                            }
                        }, monthYearFormat: function (t) {
                            return t.showMonthAfterYear ? "YYYY[" + t.yearSuffix + "] MMMM" : "MMMM YYYY[" + t.yearSuffix + "]"
                        }
                    }, c = {
                        dayOfMonthFormat: function (t, e) {
                            var n = t.longDateFormat("l");
                            return n = n.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, ""), e.isRTL ? n += " ddd" : n = "ddd " + n, n
                        }, mediumTimeFormat: function (t) {
                            return t.longDateFormat("LT").replace(/\s*a$/i, "a")
                        }, smallTimeFormat: function (t) {
                            return t.longDateFormat("LT").replace(":mm", "(:mm)").replace(/(\Wmm)$/, "($1)").replace(/\s*a$/i, "a")
                        }, extraSmallTimeFormat: function (t) {
                            return t.longDateFormat("LT").replace(":mm", "(:mm)").replace(/(\Wmm)$/, "($1)").replace(/\s*a$/i, "t")
                        }, hourFormat: function (t) {
                            return t.longDateFormat("LT").replace(":mm", "").replace(/(\Wmm)$/, "").replace(/\s*a$/i, "a")
                        }, noMeridiemTimeFormat: function (t) {
                            return t.longDateFormat("LT").replace(/\s*a$/i, "")
                        }
                    }, d = {
                        smallDayDateFormat: function (t) {
                            return t.isRTL ? "D dd" : "dd D"
                        }, weekFormat: function (t) {
                            return t.isRTL ? "w[ " + t.weekNumberTitle + "]" : "[" + t.weekNumberTitle + " ]w"
                        }, smallWeekFormat: function (t) {
                            return t.isRTL ? "w[" + t.weekNumberTitle + "]" : "[" + t.weekNumberTitle + "]w"
                        }
                    };

                    function u(t, n) {
                        var i, o;
                        i = e.localeOptionHash[t] || (e.localeOptionHash[t] = {}), n && (i = e.localeOptionHash[t] = s.mergeOptions([i, n])), o = h(t), r.each(c, (function (t, e) {
                            null == i[t] && (i[t] = e(o, i))
                        })), s.globalDefaults.locale = t
                    }

                    function h(t) {
                        return i.localeData(t) || i.localeData("en")
                    }

                    e.populateInstanceComputableOptions = function (t) {
                        r.each(d, (function (e, n) {
                            null == t[e] && (t[e] = n(t))
                        }))
                    }, e.datepickerLocale = function (t, n, i) {
                        var o = e.localeOptionHash[t] || (e.localeOptionHash[t] = {});
                        o.isRTL = i.isRTL, o.weekNumberTitle = i.weekHeader, r.each(l, (function (t, e) {
                            o[t] = e(i)
                        }));
                        var s = r.datepicker;
                        s && (s.regional[n] = s.regional[t] = i, s.regional.en = s.regional[""], s.setDefaults(i))
                    }, e.locale = u, e.getMomentLocaleData = h, u("en", s.englishDefaults)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(4);
                    e.globalDefaults = {
                        titleRangeSeparator: " – ",
                        monthYearFormat: "MMMM YYYY",
                        defaultTimedEventDuration: "02:00:00",
                        defaultAllDayEventDuration: {days: 1},
                        forceEventDuration: !1,
                        nextDayThreshold: "09:00:00",
                        columnHeader: !0,
                        defaultView: "month",
                        aspectRatio: 1.35,
                        header: {left: "title", center: "", right: "today prev,next"},
                        weekends: !0,
                        weekNumbers: !1,
                        weekNumberTitle: "W",
                        weekNumberCalculation: "local",
                        scrollTime: "06:00:00",
                        minTime: "00:00:00",
                        maxTime: "24:00:00",
                        showNonCurrentDates: !0,
                        lazyFetching: !0,
                        startParam: "start",
                        endParam: "end",
                        timezoneParam: "timezone",
                        timezone: !1,
                        locale: null,
                        isRTL: !1,
                        buttonText: {
                            prev: "prev",
                            next: "next",
                            prevYear: "prev year",
                            nextYear: "next year",
                            year: "year",
                            today: "today",
                            month: "month",
                            week: "week",
                            day: "day"
                        },
                        allDayText: "all-day",
                        agendaEventMinHeight: 0,
                        theme: !1,
                        dragOpacity: .75,
                        dragRevertDuration: 500,
                        dragScroll: !0,
                        unselectAuto: !0,
                        dropAccept: "*",
                        eventOrder: "title",
                        eventLimit: !1,
                        eventLimitText: "more",
                        eventLimitClick: "popover",
                        dayPopoverFormat: "LL",
                        handleWindowResize: !0,
                        windowResizeDelay: 100,
                        longPressDelay: 1e3,
                        lunarCalendar: !0
                    }, e.englishDefaults = {dayPopoverFormat: "dddd, MMMM D"}, e.rtlDefaults = {
                        header: {
                            left: "next,prev today",
                            center: "",
                            right: "title"
                        },
                        buttonIcons: {
                            prev: "right-single-arrow",
                            next: "left-single-arrow",
                            prevYear: "right-double-arrow",
                            nextYear: "left-double-arrow"
                        },
                        themeButtonIcons: {
                            prev: "circle-triangle-e",
                            next: "circle-triangle-w",
                            nextYear: "seek-prev",
                            prevYear: "seek-next"
                        }
                    };
                    var i = ["header", "footer", "buttonText", "buttonIcons", "themeButtonIcons"];
                    e.mergeOptions = function (t) {
                        return r.mergeProps(t, i)
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function () {
                        function t() {
                        }

                        return t.extend = function (t) {
                            var e = function (t) {
                                function e() {
                                    return null !== t && t.apply(this, arguments) || this
                                }

                                return r.__extends(e, t), e
                            }(this);
                            return i.copyOwnProps(t, e.prototype), e
                        }, t.mixin = function (t) {
                            i.copyOwnProps(t, this.prototype)
                        }, t
                    }();
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(208), o = function () {
                        function t(t) {
                            this.source = t, this.className = [], this.miscProps = {}
                        }

                        return t.parse = function (t, e) {
                            var n = new this(e);
                            return !!n.applyProps(t) && n
                        }, t.normalizeId = function (t) {
                            return String(t)
                        }, t.generateId = function () {
                            return "_fc" + t.uuid++
                        }, t.prototype.clone = function () {
                            var e = new this.constructor(this.source);
                            return e.id = this.id, e.rawId = this.rawId, e.uid = this.uid, t.copyVerbatimStandardProps(this, e), e.className = this.className.slice(), e.miscProps = r.extend({}, this.miscProps), e
                        }, t.prototype.hasInverseRendering = function () {
                            return "inverse-background" === this.getRendering()
                        }, t.prototype.hasBgRendering = function () {
                            var t = this.getRendering();
                            return "inverse-background" === t || "background" === t
                        }, t.prototype.getRendering = function () {
                            return null != this.rendering ? this.rendering : this.source.rendering
                        }, t.prototype.getConstraint = function () {
                            return null != this.constraint ? this.constraint : null != this.source.constraint ? this.source.constraint : this.source.calendar.opt("eventConstraint")
                        }, t.prototype.getOverlap = function () {
                            return null != this.overlap ? this.overlap : null != this.source.overlap ? this.source.overlap : this.source.calendar.opt("eventOverlap")
                        }, t.prototype.isStartExplicitlyEditable = function () {
                            return null != this.startEditable ? this.startEditable : this.source.startEditable
                        }, t.prototype.isDurationExplicitlyEditable = function () {
                            return null != this.durationEditable ? this.durationEditable : this.source.durationEditable
                        }, t.prototype.isExplicitlyEditable = function () {
                            return null != this.editable ? this.editable : this.source.editable
                        }, t.prototype.toLegacy = function () {
                            var e = r.extend({}, this.miscProps);
                            return e._id = this.uid, e.source = this.source, e.className = this.className.slice(), e.allDay = this.isAllDay(), null != this.rawId && (e.id = this.rawId), t.copyVerbatimStandardProps(this, e), e
                        }, t.prototype.applyManualStandardProps = function (e) {
                            return null != e.id ? this.id = t.normalizeId(this.rawId = e.id) : this.id = t.generateId(), null != e._id ? this.uid = String(e._id) : this.uid = t.generateId(), r.isArray(e.className) && (this.className = e.className), "string" == typeof e.className && (this.className = e.className.split(/\s+/)), !0
                        }, t.prototype.applyMiscProps = function (t) {
                            r.extend(this.miscProps, t)
                        }, t.uuid = 0, t.defineStandardProps = i.default.defineStandardProps, t.copyVerbatimStandardProps = i.default.copyVerbatimStandardProps, t
                    }();
                    e.default = o, i.default.mixInto(o), o.defineStandardProps({
                        _id: !1,
                        id: !1,
                        className: !1,
                        source: !1,
                        title: !0,
                        url: !0,
                        rendering: !0,
                        constraint: !0,
                        overlap: !0,
                        editable: !0,
                        startEditable: !0,
                        durationEditable: !0,
                        color: !0,
                        backgroundColor: !0,
                        borderColor: !0,
                        textColor: !0
                    })
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(211), i = n(36), o = n(12);
                    e.eventDefsToEventInstances = function (t, e) {
                        var n, r = [];
                        for (n = 0; n < t.length; n++) r.push.apply(r, t[n].buildInstances(e));
                        return r
                    }, e.eventInstanceToEventRange = function (t) {
                        return new r.default(t.dateProfile.unzonedRange, t.def, t)
                    }, e.eventRangeToEventFootprint = function (t) {
                        return new i.default(new o.default(t.unzonedRange, t.eventDef.isAllDay()), t.eventDef, t.eventInstance)
                    }, e.eventInstanceToUnzonedRange = function (t) {
                        return t.dateProfile.unzonedRange
                    }, e.eventFootprintToComponentFootprint = function (t) {
                        return t.componentFootprint
                    }
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t, e, n) {
                            this.componentFootprint = t, this.eventDef = e, n && (this.eventInstance = n)
                        }

                        return t.prototype.getEventLegacy = function () {
                            return (this.eventInstance || this.eventDef).toLegacy()
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(4), i = n(17), o = n(34), s = n(50), a = n(13), l = function () {
                        function t() {
                        }

                        return t.createFromRawProps = function (e, n, a) {
                            var l, c, d, u, h = e.def, f = {}, p = {}, g = {}, v = {}, y = null, m = null;
                            for (l in n) i.default.isStandardProp(l) ? f[l] = n[l] : h.isStandardProp(l) ? p[l] = n[l] : h.miscProps[l] !== n[l] && (g[l] = n[l]);
                            return (c = i.default.parse(f, h.source)) && (d = s.default.createFromDiff(e.dateProfile, c, a)), p.id !== h.id && (y = p.id), r.isArraysEqual(p.className, h.className) || (m = p.className), o.default.copyVerbatimStandardProps(p, v), (u = new t).eventDefId = y, u.className = m, u.verbatimStandardProps = v, u.miscProps = g, d && (u.dateMutation = d), u
                        }, t.prototype.mutateSingle = function (t) {
                            var e;
                            return this.dateMutation && (e = t.dateProfile, t.dateProfile = this.dateMutation.buildNewDateProfile(e, t.source.calendar)), null != this.eventDefId && (t.id = o.default.normalizeId(t.rawId = this.eventDefId)), this.className && (t.className = this.className), this.verbatimStandardProps && a.default.copyVerbatimStandardProps(this.verbatimStandardProps, t), this.miscProps && t.applyMiscProps(this.miscProps), e ? function () {
                                t.dateProfile = e
                            } : function () {
                            }
                        }, t.prototype.setDateMutation = function (t) {
                            t && !t.isEmpty() ? this.dateMutation = t : this.dateMutation = null
                        }, t.prototype.isEmpty = function () {
                            return !this.dateMutation
                        }, t
                    }();
                    e.default = l
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0}), e.default = {
                        sourceClasses: [],
                        registerClass: function (t) {
                            this.sourceClasses.unshift(t)
                        },
                        parse: function (t, e) {
                            var n, r, i = this.sourceClasses;
                            for (n = 0; n < i.length; n++) if (r = i[n].parse(t, e)) return r
                        }
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = function (t) {
                        function e(e) {
                            var n = t.call(this) || this;
                            return e = e || {}, n.overflowX = e.overflowX || e.overflow || "auto", n.overflowY = e.overflowY || e.overflow || "auto", n
                        }

                        return r.__extends(e, t), e.prototype.render = function () {
                            this.el = this.renderEl(), this.applyOverflow()
                        }, e.prototype.renderEl = function () {
                            return this.scrollEl = i('<div class="fc-scroller"></div>')
                        }, e.prototype.clear = function () {
                            this.setHeight("auto"), this.applyOverflow()
                        }, e.prototype.destroy = function () {
                            this.el.remove()
                        }, e.prototype.applyOverflow = function () {
                            this.scrollEl.css({"overflow-x": this.overflowX, "overflow-y": this.overflowY})
                        }, e.prototype.lockOverflow = function (t) {
                            var e = this.overflowX, n = this.overflowY;
                            t = t || this.getScrollbarWidths(), "auto" === e && (e = t.top || t.bottom || this.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth ? "scroll" : "hidden"), "auto" === n && (n = t.left || t.right || this.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight ? "scroll" : "hidden"), this.scrollEl.css({
                                "overflow-x": e,
                                "overflow-y": n
                            })
                        }, e.prototype.setHeight = function (t) {
                            this.scrollEl.height(t)
                        }, e.prototype.getScrollTop = function () {
                            return this.scrollEl.scrollTop()
                        }, e.prototype.setScrollTop = function (t) {
                            this.scrollEl.scrollTop(t)
                        }, e.prototype.getClientWidth = function () {
                            return this.scrollEl[0].clientWidth
                        }, e.prototype.getClientHeight = function () {
                            return this.scrollEl[0].clientHeight
                        }, e.prototype.getScrollbarWidths = function () {
                            return o.getScrollbarWidths(this.scrollEl)
                        }, e
                    }(n(33).default);
                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(219), a = n(21), l = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e, n) || this;
                            return r.segSelector = ".fc-event-container > *", r.dateSelectingClass && (r.dateClicking = new r.dateClickingClass(r)), r.dateSelectingClass && (r.dateSelecting = new r.dateSelectingClass(r)), r.eventPointingClass && (r.eventPointing = new r.eventPointingClass(r)), r.eventDraggingClass && r.eventPointing && (r.eventDragging = new r.eventDraggingClass(r, r.eventPointing)), r.eventResizingClass && r.eventPointing && (r.eventResizing = new r.eventResizingClass(r, r.eventPointing)), r.externalDroppingClass && (r.externalDropping = new r.externalDroppingClass(r)), r
                        }

                        return r.__extends(e, t), e.prototype.setElement = function (e) {
                            t.prototype.setElement.call(this, e), this.dateClicking && this.dateClicking.bindToEl(e), this.dateSelecting && this.dateSelecting.bindToEl(e), this.bindAllSegHandlersToEl(e)
                        }, e.prototype.removeElement = function () {
                            this.endInteractions(), t.prototype.removeElement.call(this)
                        }, e.prototype.executeEventUnrender = function () {
                            this.endInteractions(), t.prototype.executeEventUnrender.call(this)
                        }, e.prototype.bindGlobalHandlers = function () {
                            t.prototype.bindGlobalHandlers.call(this), this.externalDropping && this.externalDropping.bindToDocument()
                        }, e.prototype.unbindGlobalHandlers = function () {
                            t.prototype.unbindGlobalHandlers.call(this), this.externalDropping && this.externalDropping.unbindFromDocument()
                        }, e.prototype.bindDateHandlerToEl = function (t, e, n) {
                            var r = this;
                            this.el.on(e, (function (t) {
                                if (!i(t.target).is(r.segSelector + ":not(.fc-helper)," + r.segSelector + ":not(.fc-helper) *,.fc-more,a[data-goto]")) return n.call(r, t)
                            }))
                        }, e.prototype.bindAllSegHandlersToEl = function (t) {
                            [this.eventPointing, this.eventDragging, this.eventResizing].forEach((function (e) {
                                e && e.bindToEl(t)
                            }))
                        }, e.prototype.bindSegHandlerToEl = function (t, e, n) {
                            var r = this;
                            t.on(e, this.segSelector, (function (t) {
                                var e = i(t.currentTarget);
                                if (!e.is(".fc-helper")) {
                                    var o = e.data("fc-seg");
                                    if (o && !r.shouldIgnoreEventPointing()) return n.call(r, o, t)
                                }
                            }))
                        }, e.prototype.shouldIgnoreMouse = function () {
                            return a.default.get().shouldIgnoreMouse()
                        }, e.prototype.shouldIgnoreTouch = function () {
                            var t = this._getView();
                            return t.isSelected || t.selectedEvent
                        }, e.prototype.shouldIgnoreEventPointing = function () {
                            return this.eventDragging && this.eventDragging.isDragging || this.eventResizing && this.eventResizing.isResizing
                        }, e.prototype.canStartSelection = function (t, e) {
                            return o.getEvIsTouch(e) && !this.canStartResize(t, e) && (this.isEventDefDraggable(t.footprint.eventDef) || this.isEventDefResizable(t.footprint.eventDef))
                        }, e.prototype.canStartDrag = function (t, e) {
                            return !this.canStartResize(t, e) && this.isEventDefDraggable(t.footprint.eventDef)
                        }, e.prototype.canStartResize = function (t, e) {
                            var n = this._getView(), r = t.footprint.eventDef;
                            return (!o.getEvIsTouch(e) || n.isEventDefSelected(r)) && this.isEventDefResizable(r) && i(e.target).is(".fc-resizer")
                        }, e.prototype.endInteractions = function () {
                            [this.dateClicking, this.dateSelecting, this.eventPointing, this.eventDragging, this.eventResizing].forEach((function (t) {
                                t && t.end()
                            }))
                        }, e.prototype.isEventDefDraggable = function (t) {
                            return this.isEventDefStartEditable(t)
                        }, e.prototype.isEventDefStartEditable = function (t) {
                            var e = t.isStartExplicitlyEditable();
                            return null == e && null == (e = this.opt("eventStartEditable")) && (e = this.isEventDefGenerallyEditable(t)), e
                        }, e.prototype.isEventDefGenerallyEditable = function (t) {
                            var e = t.isExplicitlyEditable();
                            return null == e && (e = this.opt("editable")), e
                        }, e.prototype.isEventDefResizableFromStart = function (t) {
                            return this.opt("eventResizableFromStart") && this.isEventDefResizable(t)
                        }, e.prototype.isEventDefResizableFromEnd = function (t) {
                            return this.isEventDefResizable(t)
                        }, e.prototype.isEventDefResizable = function (t) {
                            var e = t.isDurationExplicitlyEditable();
                            return null == e && null == (e = this.opt("eventDurationEditable")) && (e = this.isEventDefGenerallyEditable(t)), e
                        }, e.prototype.diffDates = function (t, e) {
                            return this.largeUnit ? o.diffByUnit(t, e, this.largeUnit) : o.diffDayTime(t, e)
                        }, e.prototype.isEventInstanceGroupAllowed = function (t) {
                            var e, n = this._getView(), r = this.dateProfile,
                                i = this.eventRangesToEventFootprints(t.getAllEventRanges());
                            for (e = 0; e < i.length; e++) if (!r.validUnzonedRange.containsRange(i[e].componentFootprint.unzonedRange)) return !1;
                            return n.calendar.constraints.isEventInstanceGroupAllowed(t)
                        }, e.prototype.isExternalInstanceGroupAllowed = function (t) {
                            var e, n = this._getView(), r = this.dateProfile,
                                i = this.eventRangesToEventFootprints(t.getAllEventRanges());
                            for (e = 0; e < i.length; e++) if (!r.validUnzonedRange.containsRange(i[e].componentFootprint.unzonedRange)) return !1;
                            for (e = 0; e < i.length; e++) if (!n.calendar.constraints.isSelectionFootprintAllowed(i[e].componentFootprint)) return !1;
                            return !0
                        }, e
                    }(s.default);
                    e.default = l
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(0), s = n(4), a = n(218), l = n(221), c = n(40), d = n(21), u = n(5),
                        h = function (t) {
                            function e(e, n) {
                                var r = t.call(this, null, n.options) || this;
                                return r.batchRenderDepth = 0, r.isSelected = !1, r.calendar = e, r.viewSpec = n, r.type = n.type, r.name = r.type, r.initRenderQueue(), r.initHiddenDays(), r.dateProfileGenerator = new r.dateProfileGeneratorClass(r), r.bindBaseRenderHandlers(), r.eventOrderSpecs = s.parseFieldSpecs(r.opt("eventOrder")), r.initialize && r.initialize(), r
                            }

                            return r.__extends(e, t), e.prototype._getView = function () {
                                return this
                            }, e.prototype.opt = function (t) {
                                return this.options[t]
                            }, e.prototype.initRenderQueue = function () {
                                this.renderQueue = new a.default({event: this.opt("eventRenderWait")}), this.renderQueue.on("start", this.onRenderQueueStart.bind(this)), this.renderQueue.on("stop", this.onRenderQueueStop.bind(this)), this.on("before:change", this.startBatchRender), this.on("change", this.stopBatchRender)
                            }, e.prototype.onRenderQueueStart = function () {
                                this.calendar.freezeContentHeight(), this.addScroll(this.queryScroll())
                            }, e.prototype.onRenderQueueStop = function () {
                                this.calendar.updateViewSize() && this.popScroll(), this.calendar.thawContentHeight()
                            }, e.prototype.startBatchRender = function () {
                                this.batchRenderDepth++ || this.renderQueue.pause()
                            }, e.prototype.stopBatchRender = function () {
                                --this.batchRenderDepth || this.renderQueue.resume()
                            }, e.prototype.requestRender = function (t, e, n) {
                                this.renderQueue.queue(t, e, n)
                            }, e.prototype.whenSizeUpdated = function (t) {
                                this.renderQueue.isRunning ? this.renderQueue.one("stop", t.bind(this)) : t.call(this)
                            }, e.prototype.computeTitle = function (t) {
                                var e;
                                return e = /^(year|month)$/.test(t.currentRangeUnit) ? t.currentUnzonedRange : t.activeUnzonedRange, this.formatRange({
                                    start: this.calendar.msToMoment(e.startMs, t.isRangeAllDay),
                                    end: this.calendar.msToMoment(e.endMs, t.isRangeAllDay)
                                }, t.isRangeAllDay, this.opt("titleFormat") || this.computeTitleFormat(t), this.opt("titleRangeSeparator"))
                            }, e.prototype.computeTitleFormat = function (t) {
                                var e = t.currentRangeUnit;
                                return "year" === e ? "YYYY" : "month" === e ? this.opt("monthYearFormat") : t.currentUnzonedRange.as("days") > 1 ? "ll" : "LL"
                            }, e.prototype.setDate = function (t) {
                                var e = this.get("dateProfile"), n = this.dateProfileGenerator.build(t, void 0, !0);
                                e && e.activeUnzonedRange.equals(n.activeUnzonedRange) || this.set("dateProfile", n)
                            }, e.prototype.unsetDate = function () {
                                this.unset("dateProfile")
                            }, e.prototype.fetchInitialEvents = function (t) {
                                var e = this.calendar, n = t.isRangeAllDay && !this.usesMinMaxTime;
                                return e.requestEvents(e.msToMoment(t.activeUnzonedRange.startMs, n), e.msToMoment(t.activeUnzonedRange.endMs, n))
                            }, e.prototype.bindEventChanges = function () {
                                this.listenTo(this.calendar, "eventsReset", this.resetEvents)
                            }, e.prototype.unbindEventChanges = function () {
                                this.stopListeningTo(this.calendar, "eventsReset")
                            }, e.prototype.setEvents = function (t) {
                                this.set("currentEvents", t), this.set("hasEvents", !0)
                            }, e.prototype.unsetEvents = function () {
                                this.unset("currentEvents"), this.unset("hasEvents")
                            }, e.prototype.resetEvents = function (t) {
                                this.startBatchRender(), this.unsetEvents(), this.setEvents(t), this.stopBatchRender()
                            }, e.prototype.requestDateRender = function (t) {
                                var e = this;
                                this.requestRender((function () {
                                    e.executeDateRender(t)
                                }), "date", "init")
                            }, e.prototype.requestDateUnrender = function () {
                                var t = this;
                                this.requestRender((function () {
                                    t.executeDateUnrender()
                                }), "date", "destroy")
                            }, e.prototype.executeDateRender = function (e) {
                                t.prototype.executeDateRender.call(this, e), this.render && this.render(), this.trigger("datesRendered"), this.addScroll({isDateInit: !0}), this.startNowIndicator()
                            }, e.prototype.executeDateUnrender = function () {
                                this.unselect(), this.stopNowIndicator(), this.trigger("before:datesUnrendered"), this.destroy && this.destroy(), t.prototype.executeDateUnrender.call(this)
                            }, e.prototype.bindBaseRenderHandlers = function () {
                                var t = this;
                                this.on("datesRendered", (function () {
                                    t.whenSizeUpdated(t.triggerViewRender)
                                })), this.on("before:datesUnrendered", (function () {
                                    t.triggerViewDestroy()
                                }))
                            }, e.prototype.triggerViewRender = function () {
                                this.publiclyTrigger("viewRender", {context: this, args: [this, this.el]})
                            }, e.prototype.triggerViewDestroy = function () {
                                this.publiclyTrigger("viewDestroy", {context: this, args: [this, this.el]})
                            }, e.prototype.requestEventsRender = function (t) {
                                var e = this;
                                this.requestRender((function () {
                                    e.executeEventRender(t), e.whenSizeUpdated(e.triggerAfterEventsRendered)
                                }), "event", "init")
                            }, e.prototype.requestEventsUnrender = function () {
                                var t = this;
                                this.requestRender((function () {
                                    t.triggerBeforeEventsDestroyed(), t.executeEventUnrender()
                                }), "event", "destroy")
                            }, e.prototype.requestBusinessHoursRender = function (t) {
                                var e = this;
                                this.requestRender((function () {
                                    e.renderBusinessHours(t)
                                }), "businessHours", "init")
                            }, e.prototype.requestBusinessHoursUnrender = function () {
                                var t = this;
                                this.requestRender((function () {
                                    t.unrenderBusinessHours()
                                }), "businessHours", "destroy")
                            }, e.prototype.bindGlobalHandlers = function () {
                                t.prototype.bindGlobalHandlers.call(this), this.listenTo(d.default.get(), {
                                    touchstart: this.processUnselect,
                                    mousedown: this.handleDocumentMousedown
                                })
                            }, e.prototype.unbindGlobalHandlers = function () {
                                t.prototype.unbindGlobalHandlers.call(this), this.stopListeningTo(d.default.get())
                            }, e.prototype.startNowIndicator = function () {
                                var t, e, n, r = this;
                                this.opt("nowIndicator") && (t = this.getNowIndicatorUnit()) && (e = s.proxy(this, "updateNowIndicator"), this.initialNowDate = this.calendar.getNow(), this.initialNowQueriedMs = (new Date).valueOf(), n = this.initialNowDate.clone().startOf(t).add(1, t).valueOf() - this.initialNowDate.valueOf(), this.nowIndicatorTimeoutID = setTimeout((function () {
                                    r.nowIndicatorTimeoutID = null, e(), n = +o.duration(1, t), n = Math.max(100, n), r.nowIndicatorIntervalID = setInterval(e, n)
                                }), n))
                            }, e.prototype.updateNowIndicator = function () {
                                this.isDatesRendered && this.initialNowDate && (this.unrenderNowIndicator(), this.renderNowIndicator(this.initialNowDate.clone().add((new Date).valueOf() - this.initialNowQueriedMs)), this.isNowIndicatorRendered = !0)
                            }, e.prototype.stopNowIndicator = function () {
                                this.isNowIndicatorRendered && (this.nowIndicatorTimeoutID && (clearTimeout(this.nowIndicatorTimeoutID), this.nowIndicatorTimeoutID = null), this.nowIndicatorIntervalID && (clearInterval(this.nowIndicatorIntervalID), this.nowIndicatorIntervalID = null), this.unrenderNowIndicator(), this.isNowIndicatorRendered = !1)
                            }, e.prototype.updateSize = function (e, n, r) {
                                this.setHeight ? this.setHeight(e, n) : t.prototype.updateSize.call(this, e, n, r), this.updateNowIndicator()
                            }, e.prototype.addScroll = function (t) {
                                var e = this.queuedScroll || (this.queuedScroll = {});
                                i.extend(e, t)
                            }, e.prototype.popScroll = function () {
                                this.applyQueuedScroll(), this.queuedScroll = null
                            }, e.prototype.applyQueuedScroll = function () {
                                this.queuedScroll && this.applyScroll(this.queuedScroll)
                            }, e.prototype.queryScroll = function () {
                                var t = {};
                                return this.isDatesRendered && i.extend(t, this.queryDateScroll()), t
                            }, e.prototype.applyScroll = function (t) {
                                t.isDateInit && this.isDatesRendered && i.extend(t, this.computeInitialDateScroll()), this.isDatesRendered && this.applyDateScroll(t)
                            }, e.prototype.computeInitialDateScroll = function () {
                                return {}
                            }, e.prototype.queryDateScroll = function () {
                                return {}
                            }, e.prototype.applyDateScroll = function (t) {
                            }, e.prototype.reportEventDrop = function (t, e, n, r) {
                                var i = this.calendar.eventManager.mutateEventsWithId(t.def.id, e), s = e.dateMutation;
                                s && (t.dateProfile = s.buildNewDateProfile(t.dateProfile, this.calendar)), this.triggerEventDrop(t, s && s.dateDelta || o.duration(), i, n, r)
                            }, e.prototype.triggerEventDrop = function (t, e, n, r, i) {
                                this.publiclyTrigger("eventDrop", {
                                    context: r[0],
                                    args: [t.toLegacy(), e, n, i, {}, this]
                                })
                            }, e.prototype.reportExternalDrop = function (t, e, n, r, i, o) {
                                e && this.calendar.eventManager.addEventDef(t, n), this.triggerExternalDrop(t, e, r, i, o)
                            }, e.prototype.triggerExternalDrop = function (t, e, n, r, i) {
                                this.publiclyTrigger("drop", {
                                    context: n[0],
                                    args: [t.dateProfile.start.clone(), r, i, this]
                                }), e && this.publiclyTrigger("eventReceive", {
                                    context: this,
                                    args: [t.buildInstance().toLegacy(), this]
                                })
                            }, e.prototype.reportEventResize = function (t, e, n, r) {
                                var i = this.calendar.eventManager.mutateEventsWithId(t.def.id, e);
                                t.dateProfile = e.dateMutation.buildNewDateProfile(t.dateProfile, this.calendar), this.triggerEventResize(t, e.dateMutation.endDelta, i, n, r)
                            }, e.prototype.triggerEventResize = function (t, e, n, r, i) {
                                this.publiclyTrigger("eventResize", {
                                    context: r[0],
                                    args: [t.toLegacy(), e, n, i, {}, this]
                                })
                            }, e.prototype.select = function (t, e) {
                                this.unselect(e), this.renderSelectionFootprint(t), this.reportSelection(t, e)
                            }, e.prototype.renderSelectionFootprint = function (e) {
                                this.renderSelection ? this.renderSelection(e.toLegacy(this.calendar)) : t.prototype.renderSelectionFootprint.call(this, e)
                            }, e.prototype.reportSelection = function (t, e) {
                                this.isSelected = !0, this.triggerSelect(t, e)
                            }, e.prototype.triggerSelect = function (t, e) {
                                var n = this.calendar.footprintToDateProfile(t);
                                this.publiclyTrigger("select", {context: this, args: [n.start, n.end, e, this]})
                            }, e.prototype.unselect = function (t) {
                                this.isSelected && (this.isSelected = !1, this.destroySelection && this.destroySelection(), this.unrenderSelection(), this.publiclyTrigger("unselect", {
                                    context: this,
                                    args: [t, this]
                                }))
                            }, e.prototype.selectEventInstance = function (t) {
                                this.selectedEventInstance && this.selectedEventInstance === t || (this.unselectEventInstance(), this.getEventSegs().forEach((function (e) {
                                    e.footprint.eventInstance === t && e.el && e.el.addClass("fc-selected")
                                })), this.selectedEventInstance = t)
                            }, e.prototype.unselectEventInstance = function () {
                                this.selectedEventInstance && (this.getEventSegs().forEach((function (t) {
                                    t.el && t.el.removeClass("fc-selected")
                                })), this.selectedEventInstance = null)
                            }, e.prototype.isEventDefSelected = function (t) {
                                return this.selectedEventInstance && this.selectedEventInstance.def.id === t.id
                            }, e.prototype.handleDocumentMousedown = function (t) {
                                s.isPrimaryMouseButton(t) && this.processUnselect(t)
                            }, e.prototype.processUnselect = function (t) {
                                this.processRangeUnselect(t), this.processEventUnselect(t)
                            }, e.prototype.processRangeUnselect = function (t) {
                                var e;
                                this.isSelected && this.opt("unselectAuto") && ((e = this.opt("unselectCancel")) && i(t.target).closest(e).length || this.unselect(t))
                            }, e.prototype.processEventUnselect = function (t) {
                                this.selectedEventInstance && (i(t.target).closest(".fc-selected").length || this.unselectEventInstance())
                            }, e.prototype.triggerBaseRendered = function () {
                                this.publiclyTrigger("viewRender", {context: this, args: [this, this.el]})
                            }, e.prototype.triggerBaseUnrendered = function () {
                                this.publiclyTrigger("viewDestroy", {context: this, args: [this, this.el]})
                            }, e.prototype.triggerDayClick = function (t, e, n) {
                                var r = this.calendar.footprintToDateProfile(t);
                                this.publiclyTrigger("dayClick", {context: e, args: [r.start, n, this]})
                            }, e.prototype.isDateInOtherMonth = function (t, e) {
                                return !1
                            }, e.prototype.getUnzonedRangeOption = function (t) {
                                var e = this.opt(t);
                                if ("function" == typeof e && (e = e.apply(null, Array.prototype.slice.call(arguments, 1))), e) return this.calendar.parseUnzonedRange(e)
                            }, e.prototype.initHiddenDays = function () {
                                var t, e = this.opt("hiddenDays") || [], n = [], r = 0;
                                for (!1 === this.opt("weekends") && e.push(0, 6), t = 0; t < 7; t++) (n[t] = -1 !== i.inArray(t, e)) || r++;
                                if (!r) throw new Error("invalid hiddenDays");
                                this.isHiddenDayHash = n
                            }, e.prototype.trimHiddenDays = function (t) {
                                var e = t.getStart(), n = t.getEnd();
                                return e && (e = this.skipHiddenDays(e)), n && (n = this.skipHiddenDays(n, -1, !0)), null === e || null === n || e < n ? new u.default(e, n) : null
                            }, e.prototype.isHiddenDay = function (t) {
                                return o.isMoment(t) && (t = t.day()), this.isHiddenDayHash[t]
                            }, e.prototype.skipHiddenDays = function (t, e, n) {
                                void 0 === e && (e = 1), void 0 === n && (n = !1);
                                for (var r = t.clone(); this.isHiddenDayHash[(r.day() + (n ? e : 0) + 7) % 7];) r.add(e, "days");
                                return r
                            }, e
                        }(c.default);
                    e.default = h, h.prototype.usesMinMaxTime = !1, h.prototype.dateProfileGeneratorClass = l.default, h.watch("displayingDates", ["isInDom", "dateProfile"], (function (t) {
                        this.requestDateRender(t.dateProfile)
                    }), (function () {
                        this.requestDateUnrender()
                    })), h.watch("displayingBusinessHours", ["displayingDates", "businessHourGenerator"], (function (t) {
                        this.requestBusinessHoursRender(t.businessHourGenerator)
                    }), (function () {
                        this.requestBusinessHoursUnrender()
                    })), h.watch("initialEvents", ["dateProfile"], (function (t) {
                        return this.fetchInitialEvents(t.dateProfile)
                    })), h.watch("bindingEvents", ["initialEvents"], (function (t) {
                        this.setEvents(t.initialEvents), this.bindEventChanges()
                    }), (function () {
                        this.unbindEventChanges(), this.unsetEvents()
                    })), h.watch("displayingEvents", ["displayingDates", "hasEvents"], (function () {
                        this.requestEventsRender(this.get("currentEvents"))
                    }), (function () {
                        this.requestEventsUnrender()
                    })), h.watch("title", ["dateProfile"], (function (t) {
                        return this.title = this.computeTitle(t.dateProfile)
                    })), h.watch("legacyDateProps", ["dateProfile"], (function (t) {
                        var e = this.calendar, n = t.dateProfile;
                        this.start = e.msToMoment(n.activeUnzonedRange.startMs, n.isRangeAllDay), this.end = e.msToMoment(n.activeUnzonedRange.endMs, n.isRangeAllDay), this.intervalStart = e.msToMoment(n.currentUnzonedRange.startMs, n.isRangeAllDay), this.intervalEnd = e.msToMoment(n.currentUnzonedRange.endMs, n.isRangeAllDay)
                    }))
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = function () {
                        function t(t, e) {
                            this.view = t._getView(), this.component = t, this.fillRenderer = e
                        }

                        return t.prototype.opt = function (t) {
                            return this.view.opt(t)
                        }, t.prototype.rangeUpdated = function () {
                            var t, e;
                            this.eventTimeFormat = this.opt("eventTimeFormat") || this.opt("timeFormat") || this.computeEventTimeFormat(), null == (t = this.opt("displayEventTime")) && (t = this.computeDisplayEventTime()), null == (e = this.opt("displayEventEnd")) && (e = this.computeDisplayEventEnd()), this.displayEventTime = t, this.displayEventEnd = e
                        }, t.prototype.render = function (t) {
                            var e, n, r, i = this.component._getDateProfile(), o = [], s = [];
                            for (e in t) r = (n = t[e]).sliceRenderRanges(i.activeUnzonedRange), n.getEventDef().hasBgRendering() ? o.push.apply(o, r) : s.push.apply(s, r);
                            this.renderBgRanges(o), this.renderFgRanges(s)
                        }, t.prototype.unrender = function () {
                            this.unrenderBgRanges(), this.unrenderFgRanges()
                        }, t.prototype.renderFgRanges = function (t) {
                            var e = this.component.eventRangesToEventFootprints(t),
                                n = this.component.eventFootprintsToSegs(e);
                            n = this.renderFgSegEls(n), !1 !== this.renderFgSegs(n) && (this.fgSegs = n)
                        }, t.prototype.unrenderFgRanges = function () {
                            this.unrenderFgSegs(this.fgSegs || []), this.fgSegs = null
                        }, t.prototype.renderBgRanges = function (t) {
                            var e = this.component.eventRangesToEventFootprints(t),
                                n = this.component.eventFootprintsToSegs(e);
                            !1 !== this.renderBgSegs(n) && (this.bgSegs = n)
                        }, t.prototype.unrenderBgRanges = function () {
                            this.unrenderBgSegs(), this.bgSegs = null
                        }, t.prototype.getSegs = function () {
                            return (this.bgSegs || []).concat(this.fgSegs || [])
                        }, t.prototype.renderFgSegs = function (t) {
                            return !1
                        }, t.prototype.unrenderFgSegs = function (t) {
                        }, t.prototype.renderBgSegs = function (t) {
                            var e = this;
                            if (!this.fillRenderer) return !1;
                            this.fillRenderer.renderSegs("bgEvent", t, {
                                getClasses: function (t) {
                                    return e.getBgClasses(t.footprint.eventDef)
                                }, getCss: function (t) {
                                    return {"background-color": e.getBgColor(t.footprint.eventDef)}
                                }, filterEl: function (t, n) {
                                    return e.filterEventRenderEl(t.footprint, n)
                                }
                            })
                        }, t.prototype.unrenderBgSegs = function () {
                            this.fillRenderer && this.fillRenderer.unrender("bgEvent")
                        }, t.prototype.renderFgSegEls = function (t, e) {
                            var n = this;
                            void 0 === e && (e = !1);
                            var i, o = this.view.hasPublicHandlers("eventRender"), s = "", a = [];
                            if (t.length) {
                                for (i = 0; i < t.length; i++) this.beforeFgSegHtml(t[i]), s += this.fgSegHtml(t[i], e);
                                r(s).each((function (e, i) {
                                    var s = t[e], l = r(i);
                                    o && (l = n.filterEventRenderEl(s.footprint, l)), l && (l.data("fc-seg", s), s.el = l, a.push(s))
                                }))
                            }
                            return a
                        }, t.prototype.beforeFgSegHtml = function (t) {
                        }, t.prototype.fgSegHtml = function (t, e) {
                        }, t.prototype.getSegClasses = function (t, e, n) {
                            var r = ["fc-event", t.isStart ? "fc-start" : "fc-not-start", t.isEnd ? "fc-end" : "fc-not-end"].concat(this.getClasses(t.footprint.eventDef));
                            return e && r.push("fc-draggable"), n && r.push("fc-resizable"), this.view.isEventDefSelected(t.footprint.eventDef) && r.push("fc-selected"), r
                        }, t.prototype.filterEventRenderEl = function (t, e) {
                            var n = t.getEventLegacy(),
                                i = this.view.publiclyTrigger("eventRender", {context: n, args: [n, e, this.view]});
                            return !1 === i ? e = null : i && !0 !== i && (e = r(i)), e
                        }, t.prototype.getTimeText = function (t, e, n) {
                            return this._getTimeText(t.eventInstance.dateProfile.start, t.eventInstance.dateProfile.end, t.componentFootprint.isAllDay, e, n)
                        }, t.prototype._getTimeText = function (t, e, n, r, i) {
                            return null == r && (r = this.eventTimeFormat), null == i && (i = this.displayEventEnd), this.displayEventTime && !n ? i && e ? this.view.formatRange({
                                start: t,
                                end: e
                            }, !1, r) : t.format(r) : ""
                        }, t.prototype.computeEventTimeFormat = function () {
                            return this.opt("smallTimeFormat")
                        }, t.prototype.computeDisplayEventTime = function () {
                            return !0
                        }, t.prototype.computeDisplayEventEnd = function () {
                            return !0
                        }, t.prototype.getBgClasses = function (t) {
                            var e = this.getClasses(t);
                            return e.push("fc-bgevent"), e
                        }, t.prototype.getClasses = function (t) {
                            var e, n = this.getStylingObjs(t), r = [];
                            for (e = 0; e < n.length; e++) r.push.apply(r, n[e].eventClassName || n[e].className || []);
                            return r
                        }, t.prototype.getSkinCss = function (t) {
                            return {
                                "background-color": this.getBgColor(t),
                                "border-color": this.getBorderColor(t),
                                color: this.getTextColor(t)
                            }
                        }, t.prototype.getBgColor = function (t) {
                            var e, n, r = this.getStylingObjs(t);
                            for (e = 0; e < r.length && !n; e++) n = r[e].eventBackgroundColor || r[e].eventColor || r[e].backgroundColor || r[e].color;
                            return n || (n = this.opt("eventBackgroundColor") || this.opt("eventColor")), n
                        }, t.prototype.getBorderColor = function (t) {
                            var e, n, r = this.getStylingObjs(t);
                            for (e = 0; e < r.length && !n; e++) n = r[e].eventBorderColor || r[e].eventColor || r[e].borderColor || r[e].color;
                            return n || (n = this.opt("eventBorderColor") || this.opt("eventColor")), n
                        }, t.prototype.getTextColor = function (t) {
                            var e, n, r = this.getStylingObjs(t);
                            for (e = 0; e < r.length && !n; e++) n = r[e].eventTextColor || r[e].textColor;
                            return n || (n = this.opt("eventTextColor")), n
                        }, t.prototype.getStylingObjs = function (t) {
                            var e = this.getFallbackStylingObjs(t);
                            return e.unshift(t), e
                        }, t.prototype.getFallbackStylingObjs = function (t) {
                            return [t.source]
                        }, t.prototype.sortEventSegs = function (t) {
                            t.sort(i.proxy(this, "compareEventSegs"))
                        }, t.prototype.compareEventSegs = function (t, e) {
                            var n = t.footprint, r = e.footprint, o = n.componentFootprint, s = r.componentFootprint,
                                a = o.unzonedRange, l = s.unzonedRange;
                            return i.compareByFieldSpecs(n.eventDef, r.eventDef, this.view.eventOrderSpecs, n.eventDef.miscProps, r.eventDef.miscProps) || a.startMs - l.startMs || l.endMs - l.startMs - (a.endMs - a.startMs) || s.isAllDay - o.isAllDay
                        }, t
                    }();
                    e.default = o
                }, , , , , function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(10);

                    function i(t) {
                        return "en" !== t.locale() ? t.clone().locale("en") : t
                    }

                    r.newMomentProto.format = function () {
                        return this._fullCalendar && arguments[0] ? u(this, arguments[0]) : this._ambigTime ? r.oldMomentFormat(i(this), "YYYY-MM-DD") : this._ambigZone ? r.oldMomentFormat(i(this), "YYYY-MM-DD[T]HH:mm:ss") : this._fullCalendar ? r.oldMomentFormat(i(this)) : r.oldMomentProto.format.apply(this, arguments)
                    }, r.newMomentProto.toISOString = function () {
                        return this._ambigTime ? r.oldMomentFormat(i(this), "YYYY-MM-DD") : this._ambigZone ? r.oldMomentFormat(i(this), "YYYY-MM-DD[T]HH:mm:ss") : this._fullCalendar ? r.oldMomentProto.toISOString.apply(i(this), arguments) : r.oldMomentProto.toISOString.apply(this, arguments)
                    };
                    var o = "\v", s = "", a = "", l = new RegExp(a + "([^" + a + "]*)" + a, "g"), c = {
                        t: function (t) {
                            return r.oldMomentFormat(t, "a").charAt(0)
                        }, T: function (t) {
                            return r.oldMomentFormat(t, "A").charAt(0)
                        }
                    }, d = {
                        Y: {value: 1, unit: "year"},
                        M: {value: 2, unit: "month"},
                        W: {value: 3, unit: "week"},
                        w: {value: 3, unit: "week"},
                        D: {value: 4, unit: "day"},
                        d: {value: 4, unit: "day"}
                    };

                    function u(t, e) {
                        return function (t, e) {
                            return b(m(t, e).join(""))
                        }(f(e).fakeFormatString, t)
                    }

                    e.formatDate = u, e.formatRange = function (t, e, n, i, o) {
                        return t = r.default.parseZone(t), e = r.default.parseZone(e), function (t, e, n, r, i) {
                            var o, s, a, l = t.sameUnits, c = e.clone().stripZone(), d = n.clone().stripZone(),
                                u = m(t.fakeFormatString, e), h = m(t.fakeFormatString, n), f = "", p = "", g = "",
                                v = "", y = "";
                            for (o = 0; o < l.length && (!l[o] || c.isSame(d, l[o])); o++) f += u[o];
                            for (s = l.length - 1; s > o && (!l[s] || c.isSame(d, l[s])) && (s - 1 !== o || "." !== u[s]); s--) p = u[s] + p;
                            for (a = o; a <= s; a++) g += u[a], v += h[a];
                            return (g || v) && (y = i ? v + r + g : g + r + v), b(f + y + p)
                        }(f(n = t.localeData().longDateFormat(n) || n), t, e, i || " - ", o)
                    };
                    var h = {};

                    function f(t) {
                        return h[t] || (h[t] = function (t) {
                            var e = p(t);
                            return {fakeFormatString: v(e), sameUnits: y(e)}
                        }(t))
                    }

                    function p(t) {
                        for (var e, n = [], r = /\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g; e = r.exec(t);) e[1] ? n.push.apply(n, g(e[1])) : e[2] ? n.push({maybe: p(e[2])}) : e[3] ? n.push({token: e[3]}) : e[5] && n.push.apply(n, g(e[5]));
                        return n
                    }

                    function g(t) {
                        return ". " === t ? [".", " "] : [t]
                    }

                    function v(t) {
                        var e, n, r = [];
                        for (e = 0; e < t.length; e++) "string" == typeof (n = t[e]) ? r.push("[" + n + "]") : n.token ? n.token in c ? r.push(s + "[" + n.token + "]") : r.push(n.token) : n.maybe && r.push(a + v(n.maybe) + a);
                        return r.join(o)
                    }

                    function y(t) {
                        var e, n, r, i = [];
                        for (e = 0; e < t.length; e++) (n = t[e]).token ? (r = d[n.token.charAt(0)], i.push(r ? r.unit : "second")) : n.maybe ? i.push.apply(i, y(n.maybe)) : i.push(null);
                        return i
                    }

                    function m(t, e) {
                        var n, i, a = [], l = r.oldMomentFormat(e, t).split(o);
                        for (n = 0; n < l.length; n++) (i = l[n]).charAt(0) === s ? a.push(c[i.substring(1)](e)) : a.push(i);
                        return a
                    }

                    function b(t) {
                        return t.replace(l, (function (t, e) {
                            return e.match(/[1-9]/) ? e : ""
                        }))
                    }

                    e.queryMostGranularFormatUnit = function (t) {
                        var e, n, r, i, o = p(t);
                        for (e = 0; e < o.length; e++) (n = o[e]).token && (r = d[n.token.charAt(0)]) && (!i || r.value > i.value) && (i = r);
                        return i ? i.unit : null
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(33), o = n(11), s = n(7), a = function (t) {
                        function e() {
                            var e = t.call(this) || this;
                            return e._watchers = {}, e._props = {}, e.applyGlobalWatchers(), e.constructed(), e
                        }

                        return r.__extends(e, t), e.watch = function (t) {
                            for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
                            this.prototype.hasOwnProperty("_globalWatchArgs") || (this.prototype._globalWatchArgs = (0, c.default)(this.prototype._globalWatchArgs)), this.prototype._globalWatchArgs[t] = e
                        }, e.prototype.constructed = function () {
                        }, e.prototype.applyGlobalWatchers = function () {
                            var t, e = this._globalWatchArgs;
                            for (t in e) this.watch.apply(this, [t].concat(e[t]))
                        }, e.prototype.has = function (t) {
                            return t in this._props
                        }, e.prototype.get = function (t) {
                            return void 0 === t ? this._props : this._props[t]
                        }, e.prototype.set = function (t, e) {
                            var n;
                            "string" == typeof t ? (n = {})[t] = void 0 === e ? null : e : n = t, this.setProps(n)
                        }, e.prototype.reset = function (t) {
                            var e, n = this._props, r = {};
                            for (e in n) r[e] = void 0;
                            for (e in t) r[e] = t[e];
                            this.setProps(r)
                        }, e.prototype.unset = function (t) {
                            var e, n, r = {};
                            for (e = "string" == typeof t ? [t] : t, n = 0; n < e.length; n++) r[e[n]] = void 0;
                            this.setProps(r)
                        }, e.prototype.setProps = function (t) {
                            var e, n, r = {}, i = 0;
                            for (e in t) "object" !== (void 0 === (n = t[e]) ? "undefined" : (0, h.default)(n)) && n === this._props[e] || (r[e] = n, i++);
                            if (i) {
                                for (e in this.trigger("before:batchChange", r), r) n = r[e], this.trigger("before:change", e, n), this.trigger("before:change:" + e, n);
                                for (e in r) void 0 === (n = r[e]) ? delete this._props[e] : this._props[e] = n, this.trigger("change:" + e, n), this.trigger("change", e, n);
                                this.trigger("batchChange", r)
                            }
                        }, e.prototype.watch = function (t, e, n, r) {
                            var i = this;
                            this.unwatch(t), this._watchers[t] = this._watchDeps(e, (function (e) {
                                var r = n.call(i, e);
                                r && r.then ? (i.unset(t), r.then((function (e) {
                                    i.set(t, e)
                                }))) : i.set(t, r)
                            }), (function (e) {
                                i.unset(t), r && r.call(i, e)
                            }))
                        }, e.prototype.unwatch = function (t) {
                            var e = this._watchers[t];
                            e && (delete this._watchers[t], e.teardown())
                        }, e.prototype._watchDeps = function (t, e, n) {
                            var r = this, i = 0, o = t.length, s = 0, a = {}, l = [], c = !1, d = function (t, e) {
                                r.on(t, e), l.push([t, e])
                            };
                            return t.forEach((function (t) {
                                var r = !1;
                                "?" === t.charAt(0) && (t = t.substring(1), r = !0), d("before:change:" + t, (function (t) {
                                    1 == ++i && s === o && (c = !0, n(a), c = !1)
                                })), d("change:" + t, (function (n) {
                                    !function (t, n, r) {
                                        void 0 === n ? (r || void 0 === a[t] || s--, delete a[t]) : (r || void 0 !== a[t] || s++, a[t] = n), --i || s === o && (c || e(a))
                                    }(t, n, r)
                                }))
                            })), t.forEach((function (t) {
                                var e = !1;
                                "?" === t.charAt(0) && (t = t.substring(1), e = !0), r.has(t) ? (a[t] = r.get(t), s++) : e && s++
                            })), s === o && e(a), {
                                teardown: function () {
                                    for (var t = 0; t < l.length; t++) r.off(l[t][0], l[t][1]);
                                    l = null, s === o && n()
                                }, flash: function () {
                                    s === o && (n(), e(a))
                                }
                            }
                        }, e.prototype.flash = function (t) {
                            var e = this._watchers[t];
                            e && e.flash()
                        }, e
                    }(i.default);
                    e.default = a, a.prototype._globalWatchArgs = {}, o.default.mixInto(a), s.default.mixInto(a)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(4), o = n(13), s = n(210);
                    e.default = {
                        parse: function (t, e) {
                            return i.isTimeString(t.start) || r.isDuration(t.start) || i.isTimeString(t.end) || r.isDuration(t.end) ? s.default.parse(t, e) : o.default.parse(t, e)
                        }
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(4), i = n(17), o = function () {
                        function t() {
                            this.clearEnd = !1, this.forceTimed = !1, this.forceAllDay = !1
                        }

                        return t.createFromDiff = function (e, n, i) {
                            var o, s, a, l = e.end && !n.end, c = e.isAllDay() && !n.isAllDay(),
                                d = !e.isAllDay() && n.isAllDay();

                            function u(t, e) {
                                return i ? r.diffByUnit(t, e, i) : n.isAllDay() ? r.diffDay(t, e) : r.diffDayTime(t, e)
                            }

                            return o = u(n.start, e.start), n.end && (s = u(n.unzonedRange.getEnd(), e.unzonedRange.getEnd()).subtract(o)), (a = new t).clearEnd = l, a.forceTimed = c, a.forceAllDay = d, a.setDateDelta(o), a.setEndDelta(s), a
                        }, t.prototype.buildNewDateProfile = function (t, e) {
                            var n = t.start.clone(), r = null, o = !1;
                            return t.end && !this.clearEnd ? r = t.end.clone() : this.endDelta && !r && (r = e.getDefaultEventEnd(t.isAllDay(), n)), this.forceTimed ? (o = !0, n.hasTime() || n.time(0), r && !r.hasTime() && r.time(0)) : this.forceAllDay && (n.hasTime() && n.stripTime(), r && r.hasTime() && r.stripTime()), this.dateDelta && (o = !0, n.add(this.dateDelta), r && r.add(this.dateDelta)), this.endDelta && (o = !0, r.add(this.endDelta)), this.startDelta && (o = !0, n.add(this.startDelta)), o && (n = e.applyTimezone(n), r && (r = e.applyTimezone(r))), !r && e.opt("forceEventDuration") && (r = e.getDefaultEventEnd(t.isAllDay(), n)), new i.default(n, r, e)
                        }, t.prototype.setDateDelta = function (t) {
                            t && t.valueOf() ? this.dateDelta = t : this.dateDelta = null
                        }, t.prototype.setStartDelta = function (t) {
                            t && t.valueOf() ? this.startDelta = t : this.startDelta = null
                        }, t.prototype.setEndDelta = function (t) {
                            t && t.valueOf() ? this.endDelta = t : this.endDelta = null
                        }, t.prototype.isEmpty = function () {
                            return !(this.clearEnd || this.forceTimed || this.forceAllDay || this.dateDelta || this.startDelta || this.endDelta)
                        }, t
                    }();
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(213), i = n(214), o = {};
                    e.defineThemeSystem = function (t, e) {
                        o[t] = e
                    }, e.getThemeSystemClass = function (t) {
                        return t ? !0 === t ? i.default : o[t] : r.default
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(20), a = n(6), l = n(13), c = function (t) {
                        function e(e) {
                            var n = t.call(this, e) || this;
                            return n.eventDefs = [], n
                        }

                        return r.__extends(e, t), e.parse = function (t, e) {
                            var n;
                            return i.isArray(t.events) ? n = t : i.isArray(t) && (n = {events: t}), !!n && a.default.parse.call(this, n, e)
                        }, e.prototype.setRawEventDefs = function (t) {
                            this.rawEventDefs = t, this.eventDefs = this.parseEventDefs(t)
                        }, e.prototype.fetch = function (t, e, n) {
                            var r, i = this.eventDefs;
                            if (null != this.currentTimezone && this.currentTimezone !== n) for (r = 0; r < i.length; r++) i[r] instanceof l.default && i[r].rezone();
                            return this.currentTimezone = n, s.default.resolve(i)
                        }, e.prototype.addEventDef = function (t) {
                            this.eventDefs.push(t)
                        }, e.prototype.removeEventDefsById = function (t) {
                            return o.removeMatching(this.eventDefs, (function (e) {
                                return e.id === t
                            }))
                        }, e.prototype.removeAllEventDefs = function () {
                            this.eventDefs = []
                        }, e.prototype.getPrimitive = function () {
                            return this.rawEventDefs
                        }, e.prototype.applyManualStandardProps = function (e) {
                            var n = t.prototype.applyManualStandardProps.call(this, e);
                            return this.setRawEventDefs(e.events), n
                        }, e
                    }(a.default);
                    e.default = c, c.defineStandardProps({events: !1})
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = function () {
                        function t(t) {
                            this.isHorizontal = !1, this.isVertical = !1, this.els = r(t.els), this.isHorizontal = t.isHorizontal, this.isVertical = t.isVertical, this.forcedOffsetParentEl = t.offsetParent ? r(t.offsetParent) : null
                        }

                        return t.prototype.build = function () {
                            var t = this.forcedOffsetParentEl;
                            !t && this.els.length > 0 && (t = this.els.eq(0).offsetParent()), this.origin = t ? t.offset() : null, this.boundingRect = this.queryBoundingRect(), this.isHorizontal && this.buildElHorizontals(), this.isVertical && this.buildElVerticals()
                        }, t.prototype.clear = function () {
                            this.origin = null, this.boundingRect = null, this.lefts = null, this.rights = null, this.tops = null, this.bottoms = null
                        }, t.prototype.ensureBuilt = function () {
                            this.origin || this.build()
                        }, t.prototype.buildElHorizontals = function () {
                            var t = [], e = [];
                            this.els.each((function (n, i) {
                                var o = r(i), s = o.offset().left, a = o.outerWidth();
                                t.push(s), e.push(s + a)
                            })), this.lefts = t, this.rights = e
                        }, t.prototype.buildElVerticals = function () {
                            var t = [], e = [];
                            this.els.each((function (n, i) {
                                var o = r(i), s = o.offset().top, a = o.outerHeight();
                                t.push(s), e.push(s + a)
                            })), this.tops = t, this.bottoms = e
                        }, t.prototype.getHorizontalIndex = function (t) {
                            this.ensureBuilt();
                            var e, n = this.lefts, r = this.rights, i = n.length;
                            for (e = 0; e < i; e++) if (t >= n[e] && t < r[e]) return e
                        }, t.prototype.getVerticalIndex = function (t) {
                            this.ensureBuilt();
                            var e, n = this.tops, r = this.bottoms, i = n.length;
                            for (e = 0; e < i; e++) if (t >= n[e] && t < r[e]) return e
                        }, t.prototype.getLeftOffset = function (t) {
                            return this.ensureBuilt(), this.lefts[t]
                        }, t.prototype.getLeftPosition = function (t) {
                            return this.ensureBuilt(), this.lefts[t] - this.origin.left
                        }, t.prototype.getRightOffset = function (t) {
                            return this.ensureBuilt(), this.rights[t]
                        }, t.prototype.getRightPosition = function (t) {
                            return this.ensureBuilt(), this.rights[t] - this.origin.left
                        }, t.prototype.getWidth = function (t) {
                            return this.ensureBuilt(), this.rights[t] - this.lefts[t]
                        }, t.prototype.getTopOffset = function (t) {
                            return this.ensureBuilt(), this.tops[t]
                        }, t.prototype.getTopPosition = function (t) {
                            return this.ensureBuilt(), this.tops[t] - this.origin.top
                        }, t.prototype.getBottomOffset = function (t) {
                            return this.ensureBuilt(), this.bottoms[t]
                        }, t.prototype.getBottomPosition = function (t) {
                            return this.ensureBuilt(), this.bottoms[t] - this.origin.top
                        }, t.prototype.getHeight = function (t) {
                            return this.ensureBuilt(), this.bottoms[t] - this.tops[t]
                        }, t.prototype.queryBoundingRect = function () {
                            var t;
                            return this.els.length > 0 && !(t = i.getScrollParent(this.els.eq(0))).is(document) ? i.getClientRect(t) : null
                        }, t.prototype.isPointInBounds = function (t, e) {
                            return this.isLeftInBounds(t) && this.isTopInBounds(e)
                        }, t.prototype.isLeftInBounds = function (t) {
                            return !this.boundingRect || t >= this.boundingRect.left && t < this.boundingRect.right
                        }, t.prototype.isTopInBounds = function (t) {
                            return !this.boundingRect || t >= this.boundingRect.top && t < this.boundingRect.bottom
                        }, t
                    }();
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = n(7), s = n(21), a = function () {
                        function t(t) {
                            this.isInteracting = !1, this.isDistanceSurpassed = !1, this.isDelayEnded = !1, this.isDragging = !1, this.isTouch = !1, this.isGeneric = !1, this.shouldCancelTouchScroll = !0, this.scrollAlwaysKills = !1, this.isAutoScroll = !1, this.scrollSensitivity = 30, this.scrollSpeed = 200, this.scrollIntervalMs = 50, this.options = t || {}
                        }

                        return t.prototype.startInteraction = function (t, e) {
                            if (void 0 === e && (e = {}), "mousedown" === t.type) {
                                if (s.default.get().shouldIgnoreMouse()) return;
                                if (!i.isPrimaryMouseButton(t)) return;
                                t.preventDefault()
                            }
                            this.isInteracting || (this.delay = i.firstDefined(e.delay, this.options.delay, 0), this.minDistance = i.firstDefined(e.distance, this.options.distance, 0), this.subjectEl = this.options.subjectEl, i.preventSelection(r("body")), this.isInteracting = !0, this.isTouch = i.getEvIsTouch(t), this.isGeneric = "dragstart" === t.type, this.isDelayEnded = !1, this.isDistanceSurpassed = !1, this.originX = i.getEvX(t), this.originY = i.getEvY(t), this.scrollEl = i.getScrollParent(r(t.target)), this.bindHandlers(), this.initAutoScroll(), this.handleInteractionStart(t), this.startDelay(t), this.minDistance || this.handleDistanceSurpassed(t))
                        }, t.prototype.handleInteractionStart = function (t) {
                            this.trigger("interactionStart", t)
                        }, t.prototype.endInteraction = function (t, e) {
                            this.isInteracting && (this.endDrag(t), this.delayTimeoutId && (clearTimeout(this.delayTimeoutId), this.delayTimeoutId = null), this.destroyAutoScroll(), this.unbindHandlers(), this.isInteracting = !1, this.handleInteractionEnd(t, e), i.allowSelection(r("body")))
                        }, t.prototype.handleInteractionEnd = function (t, e) {
                            this.trigger("interactionEnd", t, e || !1)
                        }, t.prototype.bindHandlers = function () {
                            var t = s.default.get();
                            this.isGeneric ? this.listenTo(r(document), {
                                drag: this.handleMove,
                                dragstop: this.endInteraction
                            }) : this.isTouch ? this.listenTo(t, {
                                touchmove: this.handleTouchMove,
                                touchend: this.endInteraction,
                                scroll: this.handleTouchScroll
                            }) : this.listenTo(t, {
                                mousemove: this.handleMouseMove,
                                mouseup: this.endInteraction
                            }), this.listenTo(t, {selectstart: i.preventDefault, contextmenu: i.preventDefault})
                        }, t.prototype.unbindHandlers = function () {
                            this.stopListeningTo(s.default.get()), this.stopListeningTo(r(document))
                        }, t.prototype.startDrag = function (t, e) {
                            this.startInteraction(t, e), this.isDragging || (this.isDragging = !0, this.handleDragStart(t))
                        }, t.prototype.handleDragStart = function (t) {
                            this.trigger("dragStart", t)
                        }, t.prototype.handleMove = function (t) {
                            var e = i.getEvX(t) - this.originX, n = i.getEvY(t) - this.originY, r = this.minDistance;
                            this.isDistanceSurpassed || e * e + n * n >= r * r && this.handleDistanceSurpassed(t), this.isDragging && this.handleDrag(e, n, t)
                        }, t.prototype.handleDrag = function (t, e, n) {
                            this.trigger("drag", t, e, n), this.updateAutoScroll(n)
                        }, t.prototype.endDrag = function (t) {
                            this.isDragging && (this.isDragging = !1, this.handleDragEnd(t))
                        }, t.prototype.handleDragEnd = function (t) {
                            this.trigger("dragEnd", t)
                        }, t.prototype.startDelay = function (t) {
                            var e = this;
                            this.delay ? this.delayTimeoutId = setTimeout((function () {
                                e.handleDelayEnd(t)
                            }), this.delay) : this.handleDelayEnd(t)
                        }, t.prototype.handleDelayEnd = function (t) {
                            this.isDelayEnded = !0, this.isDistanceSurpassed && this.startDrag(t)
                        }, t.prototype.handleDistanceSurpassed = function (t) {
                            this.isDistanceSurpassed = !0, this.isDelayEnded && this.startDrag(t)
                        }, t.prototype.handleTouchMove = function (t) {
                            this.isDragging && this.shouldCancelTouchScroll && t.preventDefault(), this.handleMove(t)
                        }, t.prototype.handleMouseMove = function (t) {
                            this.handleMove(t)
                        }, t.prototype.handleTouchScroll = function (t) {
                            this.isDragging && !this.scrollAlwaysKills || this.endInteraction(t, !0)
                        }, t.prototype.trigger = function (t) {
                            for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
                            this.options[t] && this.options[t].apply(this, e), this["_" + t] && this["_" + t].apply(this, e)
                        }, t.prototype.initAutoScroll = function () {
                            var t = this.scrollEl;
                            this.isAutoScroll = this.options.scroll && t && !t.is(window) && !t.is(document), this.isAutoScroll && this.listenTo(t, "scroll", i.debounce(this.handleDebouncedScroll, 100))
                        }, t.prototype.destroyAutoScroll = function () {
                            this.endAutoScroll(), this.isAutoScroll && this.stopListeningTo(this.scrollEl, "scroll")
                        }, t.prototype.computeScrollBounds = function () {
                            this.isAutoScroll && (this.scrollBounds = i.getOuterRect(this.scrollEl))
                        }, t.prototype.updateAutoScroll = function (t) {
                            var e, n, r, o, s = this.scrollSensitivity, a = this.scrollBounds, l = 0, c = 0;
                            a && (e = (s - (i.getEvY(t) - a.top)) / s, n = (s - (a.bottom - i.getEvY(t))) / s, r = (s - (i.getEvX(t) - a.left)) / s, o = (s - (a.right - i.getEvX(t))) / s, e >= 0 && e <= 1 ? l = e * this.scrollSpeed * -1 : n >= 0 && n <= 1 && (l = n * this.scrollSpeed), r >= 0 && r <= 1 ? c = r * this.scrollSpeed * -1 : o >= 0 && o <= 1 && (c = o * this.scrollSpeed)), this.setScrollVel(l, c)
                        }, t.prototype.setScrollVel = function (t, e) {
                            this.scrollTopVel = t, this.scrollLeftVel = e, this.constrainScrollVel(), !this.scrollTopVel && !this.scrollLeftVel || this.scrollIntervalId || (this.scrollIntervalId = setInterval(i.proxy(this, "scrollIntervalFunc"), this.scrollIntervalMs))
                        }, t.prototype.constrainScrollVel = function () {
                            var t = this.scrollEl;
                            this.scrollTopVel < 0 ? t.scrollTop() <= 0 && (this.scrollTopVel = 0) : this.scrollTopVel > 0 && t.scrollTop() + t[0].clientHeight >= t[0].scrollHeight && (this.scrollTopVel = 0), this.scrollLeftVel < 0 ? t.scrollLeft() <= 0 && (this.scrollLeftVel = 0) : this.scrollLeftVel > 0 && t.scrollLeft() + t[0].clientWidth >= t[0].scrollWidth && (this.scrollLeftVel = 0)
                        }, t.prototype.scrollIntervalFunc = function () {
                            var t = this.scrollEl, e = this.scrollIntervalMs / 1e3;
                            this.scrollTopVel && t.scrollTop(t.scrollTop() + this.scrollTopVel * e), this.scrollLeftVel && t.scrollLeft(t.scrollLeft() + this.scrollLeftVel * e), this.constrainScrollVel(), this.scrollTopVel || this.scrollLeftVel || this.endAutoScroll()
                        }, t.prototype.endAutoScroll = function () {
                            this.scrollIntervalId && (clearInterval(this.scrollIntervalId), this.scrollIntervalId = null, this.handleScrollEnd())
                        }, t.prototype.handleDebouncedScroll = function () {
                            this.scrollIntervalId || this.handleScrollEnd()
                        }, t.prototype.handleScrollEnd = function () {
                        }, t
                    }();
                    e.default = a, o.default.mixInto(a)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.updateDayTable = function () {
                            for (var t, e, n, r = this, i = r.view, o = i.calendar, s = o.msToUtcMoment(r.dateProfile.renderUnzonedRange.startMs, !0), a = o.msToUtcMoment(r.dateProfile.renderUnzonedRange.endMs, !0), l = -1, c = [], d = []; s.isBefore(a);) i.isHiddenDay(s) ? c.push(l + .5) : (l++, c.push(l), d.push(s.clone())), s.add(1, "days");
                            if (this.breakOnWeeks) {
                                for (e = d[0].day(), t = 1; t < d.length && d[t].day() !== e; t++) ;
                                n = Math.ceil(d.length / t)
                            } else n = 1, t = d.length;
                            this.dayDates = d, this.dayIndices = c, this.daysPerRow = t, this.rowCnt = n, this.updateDayTableCols()
                        }, e.prototype.updateDayTableCols = function () {
                            this.colCnt = this.computeColCnt(), this.colHeadFormat = this.opt("columnHeaderFormat") || this.opt("columnFormat") || this.computeColHeadFormat()
                        }, e.prototype.computeColCnt = function () {
                            return this.daysPerRow
                        }, e.prototype.getCellDate = function (t, e) {
                            return this.dayDates[this.getCellDayIndex(t, e)].clone()
                        }, e.prototype.getCellRange = function (t, e) {
                            var n = this.getCellDate(t, e), r = n.clone().add(1, "days");
                            return {start: n, end: r}
                        }, e.prototype.getCellDayIndex = function (t, e) {
                            return t * this.daysPerRow + this.getColDayIndex(e)
                        }, e.prototype.getColDayIndex = function (t) {
                            return this.isRTL ? this.colCnt - 1 - t : t
                        }, e.prototype.getDateDayIndex = function (t) {
                            var e = this.dayIndices, n = t.diff(this.dayDates[0], "days");
                            return n < 0 ? e[0] - 1 : n >= e.length ? e[e.length - 1] + 1 : e[n]
                        }, e.prototype.computeColHeadFormat = function () {
                            return this.rowCnt > 1 || this.colCnt > 10 ? "ddd" : this.colCnt > 1 ? this.opt("dayOfMonthFormat") : "dddd"
                        }, e.prototype.sliceRangeByRow = function (t) {
                            var e, n, r, i, o, s = this.daysPerRow, a = this.view.computeDayRange(t),
                                l = this.getDateDayIndex(a.start),
                                c = this.getDateDayIndex(a.end.clone().subtract(1, "days")), d = [];
                            for (e = 0; e < this.rowCnt; e++) r = (n = e * s) + s - 1, i = Math.max(l, n), o = Math.min(c, r), (i = Math.ceil(i)) <= (o = Math.floor(o)) && d.push({
                                row: e,
                                firstRowDayIndex: i - n,
                                lastRowDayIndex: o - n,
                                isStart: i === l,
                                isEnd: o === c
                            });
                            return d
                        }, e.prototype.sliceRangeByDay = function (t) {
                            var e, n, r, i, o, s, a = this.daysPerRow, l = this.view.computeDayRange(t),
                                c = this.getDateDayIndex(l.start),
                                d = this.getDateDayIndex(l.end.clone().subtract(1, "days")), u = [];
                            for (e = 0; e < this.rowCnt; e++) for (r = (n = e * a) + a - 1, i = n; i <= r; i++) o = Math.max(c, i), s = Math.min(d, i), (o = Math.ceil(o)) <= (s = Math.floor(s)) && u.push({
                                row: e,
                                firstRowDayIndex: o - n,
                                lastRowDayIndex: s - n,
                                isStart: o === c,
                                isEnd: s === d
                            });
                            return u
                        }, e.prototype.renderHeadHtml = function () {
                            var t = this.view.calendar.theme;
                            return '<div class="fc-row ' + t.getClass("headerRow") + '"><table class="' + t.getClass("tableGrid") + '"><thead>' + this.renderHeadTrHtml() + "</thead></table></div>"
                        }, e.prototype.renderHeadIntroHtml = function () {
                            return this.renderIntroHtml()
                        }, e.prototype.renderHeadTrHtml = function () {
                            return "<tr>" + (this.isRTL ? "" : this.renderHeadIntroHtml()) + this.renderHeadDateCellsHtml() + (this.isRTL ? this.renderHeadIntroHtml() : "") + "</tr>"
                        }, e.prototype.renderHeadDateCellsHtml = function () {
                            var t, e, n = [];
                            for (t = 0; t < this.colCnt; t++) e = this.getCellDate(0, t), n.push(this.renderHeadDateCellHtml(e));
                            return n.join("")
                        }, e.prototype.renderHeadDateCellHtml = function (t, e, n) {
                            var r, o = this, s = o.view, a = o.dateProfile.activeUnzonedRange.containsDate(t),
                                l = ["fc-day-header", s.calendar.theme.getClass("widgetHeader")];
                            return r = "function" == typeof o.opt("columnHeaderHtml") ? o.opt("columnHeaderHtml")(t) : "function" == typeof o.opt("columnHeaderText") ? i.htmlEscape(o.opt("columnHeaderText")(t)) : i.htmlEscape(t.format(o.colHeadFormat)), 1 === o.rowCnt ? l = l.concat(o.getDayClasses(t, !0)) : l.push("fc-" + i.dayIDs[t.day()]), '<th class="' + l.join(" ") + '"' + (1 === (a && o.rowCnt) ? ' data-date="' + t.format("YYYY-MM-DD") + '"' : "") + (e > 1 ? ' colspan="' + e + '"' : "") + (n ? " " + n : "") + ">" + (a ? s.buildGotoAnchorHtml({
                                date: t,
                                forceOff: o.rowCnt > 1 || 1 === o.colCnt
                            }, r) : r) + "</th>"
                        }, e.prototype.renderBgTrHtml = function (t) {
                            return "<tr>" + (this.isRTL ? "" : this.renderBgIntroHtml(t)) + this.renderBgCellsHtml(t) + (this.isRTL ? this.renderBgIntroHtml(t) : "") + "</tr>"
                        }, e.prototype.renderBgIntroHtml = function (t) {
                            return this.renderIntroHtml()
                        }, e.prototype.renderBgCellsHtml = function (t) {
                            var e, n, r = [];
                            for (e = 0; e < this.colCnt; e++) n = this.getCellDate(t, e), r.push(this.renderBgCellHtml(n));
                            return r.join("")
                        }, e.prototype.renderBgCellHtml = function (t, e) {
                            var n = this, r = n.view, i = n.dateProfile.activeUnzonedRange.containsDate(t),
                                o = n.getDayClasses(t);
                            return o.unshift("fc-day", r.calendar.theme.getClass("widgetContent")), '<td class="' + o.join(" ") + '"' + (i ? ' data-date="' + t.format("YYYY-MM-DD") + '"' : "") + (e ? " " + e : "") + "></td>"
                        }, e.prototype.renderIntroHtml = function () {
                        }, e.prototype.bookendCells = function (t) {
                            var e = this.renderIntroHtml();
                            e && (this.isRTL ? t.append(e) : t.prepend(e))
                        }, e
                    }(n(14).default);
                    e.default = o
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t, e) {
                            this.component = t, this.fillRenderer = e
                        }

                        return t.prototype.render = function (t) {
                            var e = this.component, n = e._getDateProfile().activeUnzonedRange,
                                r = t.buildEventInstanceGroup(e.hasAllDayBusinessHours, n),
                                i = r ? e.eventRangesToEventFootprints(r.sliceRenderRanges(n)) : [];
                            this.renderEventFootprints(i)
                        }, t.prototype.renderEventFootprints = function (t) {
                            var e = this.component.eventFootprintsToSegs(t);
                            this.renderSegs(e), this.segs = e
                        }, t.prototype.renderSegs = function (t) {
                            this.fillRenderer && this.fillRenderer.renderSegs("businessHours", t, {
                                getClasses: function (t) {
                                    return ["fc-nonbusiness", "fc-bgevent"]
                                }
                            })
                        }, t.prototype.unrender = function () {
                            this.fillRenderer && this.fillRenderer.unrender("businessHours"), this.segs = null
                        }, t.prototype.getSegs = function () {
                            return this.segs || []
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = function () {
                        function t(t) {
                            this.fillSegTag = "div", this.component = t, this.elsByFill = {}
                        }

                        return t.prototype.renderFootprint = function (t, e, n) {
                            this.renderSegs(t, this.component.componentFootprintToSegs(e), n)
                        }, t.prototype.renderSegs = function (t, e, n) {
                            var r;
                            return e = this.buildSegEls(t, e, n), (r = this.attachSegEls(t, e)) && this.reportEls(t, r), e
                        }, t.prototype.unrender = function (t) {
                            var e = this.elsByFill[t];
                            e && (e.remove(), delete this.elsByFill[t])
                        }, t.prototype.buildSegEls = function (t, e, n) {
                            var i, o = this, s = "", a = [];
                            if (e.length) {
                                for (i = 0; i < e.length; i++) s += this.buildSegHtml(t, e[i], n);
                                r(s).each((function (t, i) {
                                    var s = e[t], l = r(i);
                                    n.filterEl && (l = n.filterEl(s, l)), l && (l = r(l)).is(o.fillSegTag) && (s.el = l, a.push(s))
                                }))
                            }
                            return a
                        }, t.prototype.buildSegHtml = function (t, e, n) {
                            var r = n.getClasses ? n.getClasses(e) : [], o = i.cssToStr(n.getCss ? n.getCss(e) : {});
                            return "<" + this.fillSegTag + (r.length ? ' class="' + r.join(" ") + '"' : "") + (o ? ' style="' + o + '"' : "") + " />"
                        }, t.prototype.attachSegEls = function (t, e) {
                        }, t.prototype.reportEls = function (t, e) {
                            this.elsByFill[t] ? this.elsByFill[t] = this.elsByFill[t].add(e) : this.elsByFill[t] = r(e)
                        }, t
                    }();
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(13), i = n(36), o = n(6), s = function () {
                        function t(t, e) {
                            this.view = t._getView(), this.component = t, this.eventRenderer = e
                        }

                        return t.prototype.renderComponentFootprint = function (t) {
                            this.renderEventFootprints([this.fabricateEventFootprint(t)])
                        }, t.prototype.renderEventDraggingFootprints = function (t, e, n) {
                            this.renderEventFootprints(t, e, "fc-dragging", n ? null : this.view.opt("dragOpacity"))
                        }, t.prototype.renderEventResizingFootprints = function (t, e, n) {
                            this.renderEventFootprints(t, e, "fc-resizing")
                        }, t.prototype.renderEventFootprints = function (t, e, n, r) {
                            var i, o = this.component.eventFootprintsToSegs(t), s = "fc-helper " + (n || "");
                            for (o = this.eventRenderer.renderFgSegEls(o), i = 0; i < o.length; i++) o[i].el.addClass(s);
                            if (null != r) for (i = 0; i < o.length; i++) o[i].el.css("opacity", r);
                            this.helperEls = this.renderSegs(o, e)
                        }, t.prototype.renderSegs = function (t, e) {
                        }, t.prototype.unrender = function () {
                            this.helperEls && (this.helperEls.remove(), this.helperEls = null)
                        }, t.prototype.fabricateEventFootprint = function (t) {
                            var e, n = this.view.calendar, s = n.footprintToDateProfile(t),
                                a = new r.default(new o.default(n));
                            return a.dateProfile = s, e = a.buildInstance(), new i.default(t, a, e)
                        }, t
                    }();
                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(21), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.bindToEl = function (t) {
                            var e = this.component;
                            e.bindSegHandlerToEl(t, "click", this.handleClick.bind(this)), e.bindSegHandlerToEl(t, "mouseenter", this.handleMouseover.bind(this)), e.bindSegHandlerToEl(t, "mouseleave", this.handleMouseout.bind(this))
                        }, e.prototype.handleClick = function (t, e) {
                            !1 === this.component.publiclyTrigger("eventClick", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, this.view]
                            }) && e.preventDefault()
                        }, e.prototype.handleMouseover = function (t, e) {
                            i.default.get().shouldIgnoreMouse() || this.mousedOverSeg || (this.mousedOverSeg = t, this.view.isEventDefResizable(t.footprint.eventDef) && t.el.addClass("fc-allow-mouse-resize"), this.component.publiclyTrigger("eventMouseover", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, this.view]
                            }))
                        }, e.prototype.handleMouseout = function (t, e) {
                            this.mousedOverSeg && (this.mousedOverSeg = null, this.view.isEventDefResizable(t.footprint.eventDef) && t.el.removeClass("fc-allow-mouse-resize"), this.component.publiclyTrigger("eventMouseout", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e || {}, this.view]
                            }))
                        }, e.prototype.end = function () {
                            this.mousedOverSeg && this.handleMouseout(this.mousedOverSeg)
                        }, e
                    }(n(15).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(14), o = n(245), s = n(225), a = n(59), l = n(224), c = n(223), d = n(222),
                        u = function (t) {
                            function e() {
                                return null !== t && t.apply(this, arguments) || this
                            }

                            return r.__extends(e, t), e
                        }(i.default);
                    e.default = u, u.prototype.dateClickingClass = o.default, u.prototype.dateSelectingClass = s.default, u.prototype.eventPointingClass = a.default, u.prototype.eventDraggingClass = l.default, u.prototype.eventResizingClass = c.default, u.prototype.externalDroppingClass = d.default
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(53), a = n(249), l = n(5), c = n(12), d = n(36), u = n(56),
                        h = n(60), f = n(40), p = n(55), g = n(250), v = n(251), y = n(252), m = function (t) {
                            function e(e) {
                                var n = t.call(this, e) || this;
                                return n.cellWeekNumbersVisible = !1, n.bottomCoordPadding = 0, n.isRigid = !1, n.hasAllDayBusinessHours = !0, n
                            }

                            return r.__extends(e, t), e.prototype.componentFootprintToSegs = function (t) {
                                var e, n, r = this.sliceRangeByRow(t.unzonedRange);
                                for (e = 0; e < r.length; e++) n = r[e], this.isRTL ? (n.leftCol = this.daysPerRow - 1 - n.lastRowDayIndex, n.rightCol = this.daysPerRow - 1 - n.firstRowDayIndex) : (n.leftCol = n.firstRowDayIndex, n.rightCol = n.lastRowDayIndex);
                                return r
                            }, e.prototype.renderDates = function (t) {
                                this.dateProfile = t, this.updateDayTable(), this.renderGrid()
                            }, e.prototype.unrenderDates = function () {
                                this.removeSegPopover()
                            }, e.prototype.renderGrid = function () {
                                var t, e, n = this.view, r = this.rowCnt, i = this.colCnt, o = "";
                                for (this.headContainerEl && this.headContainerEl.html(this.renderHeadHtml()), t = 0; t < r; t++) o += this.renderDayRowHtml(t, this.isRigid);
                                for (this.el.html(o), this.rowEls = this.el.find(".fc-row"), this.cellEls = this.el.find(".fc-day, .fc-disabled-day"), this.rowCoordCache = new s.default({
                                    els: this.rowEls,
                                    isVertical: !0
                                }), this.colCoordCache = new s.default({
                                    els: this.cellEls.slice(0, this.colCnt),
                                    isHorizontal: !0
                                }), t = 0; t < r; t++) for (e = 0; e < i; e++) this.publiclyTrigger("dayRender", {
                                    context: n,
                                    args: [this.getCellDate(t, e), this.getCellEl(t, e), n]
                                })
                            }, e.prototype.renderDayRowHtml = function (t, e) {
                                var n = this.view.calendar.theme, r = ["fc-row", "fc-week", n.getClass("dayRow")];
                                return e && r.push("fc-rigid"), '<div class="' + r.join(" ") + '"><div class="fc-bg"><table class="' + n.getClass("tableGrid") + '">' + this.renderBgTrHtml(t) + '</table></div><div class="fc-content-skeleton"><table>' + (this.getIsNumbersVisible() ? "<thead>" + this.renderNumberTrHtml(t) + "</thead>" : "") + "</table></div></div>"
                            }, e.prototype.getIsNumbersVisible = function () {
                                return this.getIsDayNumbersVisible() || this.cellWeekNumbersVisible
                            }, e.prototype.getIsDayNumbersVisible = function () {
                                return this.rowCnt > 1
                            }, e.prototype.renderNumberTrHtml = function (t) {
                                return "<tr>" + (this.isRTL ? "" : this.renderNumberIntroHtml(t)) + this.renderNumberCellsHtml(t) + (this.isRTL ? this.renderNumberIntroHtml(t) : "") + "</tr>"
                            }, e.prototype.renderNumberIntroHtml = function (t) {
                                return this.renderIntroHtml()
                            }, e.prototype.renderNumberCellsHtml = function (t) {
                                var e, n, r = [];
                                for (e = 0; e < this.colCnt; e++) n = this.getCellDate(t, e), r.push(this.renderNumberCellHtml(n));
                                return r.join("")
                            }, e.prototype.renderNumberCellHtml = function (t) {
                                var e, n, r = this.view, o = "", s = this.dateProfile.activeUnzonedRange.containsDate(t),
                                    a = this.getIsDayNumbersVisible() && s;
                                if (!a && !this.cellWeekNumbersVisible) return "<td/>";
                                if ((e = this.getDayClasses(t)).unshift("fc-day-top"), this.cellWeekNumbersVisible && (n = "ISO" === t._locale._fullCalendar_weekCalc ? 1 : t._locale.firstDayOfWeek()), o += '<td class="' + e.join(" ") + '"' + (s ? ' data-date="' + t.format() + '"' : "") + ">", this.cellWeekNumbersVisible && t.day() === n && (o += r.buildGotoAnchorHtml({
                                    date: t,
                                    type: "week"
                                }, {class: "fc-week-number"}, t.format("w"))), a && (o += r.buildGotoAnchorHtml(t, {class: "fc-day-number"}, t.format("D")), r.options.lunarCalendar)) {
                                    var l = lunar(t).term;
                                    l && (o += "<span class='fc-day-cnTerm'>" + l + "</span>");
                                    var c = lunar(t).festival();
                                    c && c.length > 0 && (o += "<span class='fc-day-cnTerm'>" + i.trim(c[0].desc) + "</span>"), l || c && 0 != c.length || ("初一" == lunar(t).lDate ? o += "<span class='fc-day-cnDate'>" + lunar(t).lMonth + "月" + lunar(t).lDate + "</span>" : o += "<span class='fc-day-cnDate'>" + lunar(t).lDate + "</span>")
                                }
                                return o += "</td>"
                            }, e.prototype.prepareHits = function () {
                                this.colCoordCache.build(), this.rowCoordCache.build(), this.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding
                            }, e.prototype.releaseHits = function () {
                                this.colCoordCache.clear(), this.rowCoordCache.clear()
                            }, e.prototype.queryHit = function (t, e) {
                                if (this.colCoordCache.isLeftInBounds(t) && this.rowCoordCache.isTopInBounds(e)) {
                                    var n = this.colCoordCache.getHorizontalIndex(t),
                                        r = this.rowCoordCache.getVerticalIndex(e);
                                    if (null != r && null != n) return this.getCellHit(r, n)
                                }
                            }, e.prototype.getHitFootprint = function (t) {
                                var e = this.getCellRange(t.row, t.col);
                                return new c.default(new l.default(e.start, e.end), !0)
                            }, e.prototype.getHitEl = function (t) {
                                return this.getCellEl(t.row, t.col)
                            }, e.prototype.getCellHit = function (t, e) {
                                return {
                                    row: t,
                                    col: e,
                                    component: this,
                                    left: this.colCoordCache.getLeftOffset(e),
                                    right: this.colCoordCache.getRightOffset(e),
                                    top: this.rowCoordCache.getTopOffset(t),
                                    bottom: this.rowCoordCache.getBottomOffset(t)
                                }
                            }, e.prototype.getCellEl = function (t, e) {
                                return this.cellEls.eq(t * this.colCnt + e)
                            }, e.prototype.executeEventUnrender = function () {
                                this.removeSegPopover(), t.prototype.executeEventUnrender.call(this)
                            }, e.prototype.getOwnEventSegs = function () {
                                return t.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs || [])
                            }, e.prototype.renderDrag = function (t, e, n) {
                                var r;
                                for (r = 0; r < t.length; r++) this.renderHighlight(t[r].componentFootprint);
                                if (t.length && e && e.component !== this) return this.helperRenderer.renderEventDraggingFootprints(t, e, n), !0
                            }, e.prototype.unrenderDrag = function () {
                                this.unrenderHighlight(), this.helperRenderer.unrender()
                            }, e.prototype.renderEventResize = function (t, e, n) {
                                var r;
                                for (r = 0; r < t.length; r++) this.renderHighlight(t[r].componentFootprint);
                                this.helperRenderer.renderEventResizingFootprints(t, e, n)
                            }, e.prototype.unrenderEventResize = function () {
                                this.unrenderHighlight(), this.helperRenderer.unrender()
                            }, e.prototype.removeSegPopover = function () {
                                this.segPopover && this.segPopover.hide()
                            }, e.prototype.limitRows = function (t) {
                                var e, n, r = this.eventRenderer.rowStructs || [];
                                for (e = 0; e < r.length; e++) this.unlimitRow(e), !1 !== (n = !!t && ("number" == typeof t ? t : this.computeRowLevelLimit(e))) && this.limitRow(e, n)
                            }, e.prototype.computeRowLevelLimit = function (t) {
                                var e, n, r, o = this.rowEls.eq(t).height(),
                                    s = this.eventRenderer.rowStructs[t].tbodyEl.children();

                                function a(t, e) {
                                    r = Math.max(r, i(e).outerHeight())
                                }

                                for (e = 0; e < s.length; e++) if (n = s.eq(e).removeClass("fc-limited"), r = 0, n.find("> td > :first-child").each(a), n.position().top + r > o) return e;
                                return !1
                            }, e.prototype.limitRow = function (t, e) {
                                var n, r, o, s, a, l, c, d, u, h, f, p, g, v, y, m = this,
                                    b = this.eventRenderer.rowStructs[t], w = [], D = 0, E = function (n) {
                                        for (; D < n;) (l = m.getCellSegs(t, D, e)).length && (u = r[e - 1][D], y = m.renderMoreLink(t, D, l), v = i("<div/>").append(y), u.append(v), w.push(v[0])), D++
                                    };
                                if (e && e < b.segLevels.length) {
                                    for (n = b.segLevels[e - 1], r = b.cellMatrix, o = b.tbodyEl.children().slice(e).addClass("fc-limited").get(), s = 0; s < n.length; s++) {
                                        for (E((a = n[s]).leftCol), d = [], c = 0; D <= a.rightCol;) l = this.getCellSegs(t, D, e), d.push(l), c += l.length, D++;
                                        if (c) {
                                            for (h = (u = r[e - 1][a.leftCol]).attr("rowspan") || 1, f = [], p = 0; p < d.length; p++) g = i('<td class="fc-more-cell"/>').attr("rowspan", h), l = d[p], y = this.renderMoreLink(t, a.leftCol + p, [a].concat(l)), v = i("<div/>").append(y), g.append(v), f.push(g[0]), w.push(g[0]);
                                            u.addClass("fc-limited").after(i(f)), o.push(u[0])
                                        }
                                    }
                                    E(this.colCnt), b.moreEls = i(w), b.limitedEls = i(o)
                                }
                            }, e.prototype.unlimitRow = function (t) {
                                var e = this.eventRenderer.rowStructs[t];
                                e.moreEls && (e.moreEls.remove(), e.moreEls = null), e.limitedEls && (e.limitedEls.removeClass("fc-limited"), e.limitedEls = null)
                            }, e.prototype.renderMoreLink = function (t, e, n) {
                                var r = this, o = this.view;
                                return i('<a class="fc-more"/>').text(this.getMoreLinkText(n.length)).on("click", (function (s) {
                                    var a = r.opt("eventLimitClick"), l = r.getCellDate(t, e), c = i(s.currentTarget),
                                        d = r.getCellEl(t, e), u = r.getCellSegs(t, e), h = r.resliceDaySegs(u, l),
                                        f = r.resliceDaySegs(n, l);
                                    "function" == typeof a && (a = r.publiclyTrigger("eventLimitClick", {
                                        context: o,
                                        args: [{date: l.clone(), dayEl: d, moreEl: c, segs: h, hiddenSegs: f}, s, o]
                                    })), "popover" === a ? r.showSegPopover(t, e, c, h) : "string" == typeof a && o.calendar.zoomTo(l, a)
                                }))
                            }, e.prototype.showSegPopover = function (t, e, n, r) {
                                var i, o, s = this, l = this.view, c = n.parent();
                                i = 1 === this.rowCnt ? l.el : this.rowEls.eq(t), o = {
                                    className: "fc-more-popover " + l.calendar.theme.getClass("popover"),
                                    content: this.renderSegPopoverContent(t, e, r),
                                    parentEl: l.el,
                                    top: i.offset().top,
                                    autoHide: !0,
                                    viewportConstrain: this.opt("popoverViewportConstrain"),
                                    hide: function () {
                                        s.popoverSegs && s.triggerBeforeEventSegsDestroyed(s.popoverSegs), s.segPopover.removeElement(), s.segPopover = null, s.popoverSegs = null
                                    }
                                }, this.isRTL ? o.right = c.offset().left + c.outerWidth() + 1 : o.left = c.offset().left - 1, this.segPopover = new a.default(o), this.segPopover.show(), this.bindAllSegHandlersToEl(this.segPopover.el), this.triggerAfterEventSegsRendered(r)
                            }, e.prototype.renderSegPopoverContent = function (t, e, n) {
                                var r, s = this.view.calendar.theme,
                                    a = this.getCellDate(t, e).format(this.opt("dayPopoverFormat")),
                                    l = i('<div class="fc-header ' + s.getClass("popoverHeader") + '"><span class="fc-close ' + s.getIconClass("close") + '"></span><span class="fc-title">' + o.htmlEscape(a) + '</span><div class="fc-clear"/></div><div class="fc-body ' + s.getClass("popoverContent") + '"><div class="fc-event-container"></div></div>'),
                                    c = l.find(".fc-event-container");
                                for (n = this.eventRenderer.renderFgSegEls(n, !0), this.popoverSegs = n, r = 0; r < n.length; r++) this.hitsNeeded(), n[r].hit = this.getCellHit(t, e), this.hitsNotNeeded(), c.append(n[r].el);
                                return l
                            }, e.prototype.resliceDaySegs = function (t, e) {
                                var n, r, o, s = e.clone(), a = s.clone().add(1, "days"), u = new l.default(s, a), h = [];
                                for (n = 0; n < t.length; n++) (o = (r = t[n]).footprint.componentFootprint.unzonedRange.intersect(u)) && h.push(i.extend({}, r, {
                                    footprint: new d.default(new c.default(o, r.footprint.componentFootprint.isAllDay), r.footprint.eventDef, r.footprint.eventInstance),
                                    isStart: r.isStart && o.isStart,
                                    isEnd: r.isEnd && o.isEnd
                                }));
                                return this.eventRenderer.sortEventSegs(h), h
                            }, e.prototype.getMoreLinkText = function (t) {
                                var e = this.opt("eventLimitText");
                                return "function" == typeof e ? e(t) : "+" + t + " " + e
                            }, e.prototype.getCellSegs = function (t, e, n) {
                                for (var r, i = this.eventRenderer.rowStructs[t].segMatrix, o = n || 0, s = []; o < i.length;) (r = i[o][e]) && s.push(r), o++;
                                return s
                            }, e
                        }(f.default);
                    e.default = m, m.prototype.eventRendererClass = g.default, m.prototype.businessHourRendererClass = u.default, m.prototype.helperRendererClass = v.default, m.prototype.fillRendererClass = y.default, h.default.mixInto(m), p.default.mixInto(m)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(39), a = n(41), l = n(228), c = n(61), d = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e, n) || this;
                            return r.dayGrid = r.instantiateDayGrid(), r.dayGrid.isRigid = r.hasRigidRows(), r.opt("weekNumbers") && (r.opt("weekNumbersWithinDays") ? (r.dayGrid.cellWeekNumbersVisible = !0, r.dayGrid.colWeekNumbersVisible = !1) : (r.dayGrid.cellWeekNumbersVisible = !1, r.dayGrid.colWeekNumbersVisible = !0)), r.addChild(r.dayGrid), r.scroller = new s.default({
                                overflowX: "hidden",
                                overflowY: "auto"
                            }), r
                        }

                        return r.__extends(e, t), e.prototype.instantiateDayGrid = function () {
                            return new (function (t) {
                                function e() {
                                    var e = null !== t && t.apply(this, arguments) || this;
                                    return e.colWeekNumbersVisible = !1, e
                                }

                                return r.__extends(e, t), e.prototype.renderHeadIntroHtml = function () {
                                    var t = this.view;
                                    return this.colWeekNumbersVisible ? '<th class="fc-week-number ' + t.calendar.theme.getClass("widgetHeader") + '" ' + t.weekNumberStyleAttr() + "><span>" + o.htmlEscape(this.opt("weekNumberTitle")) + "</span></th>" : ""
                                }, e.prototype.renderNumberIntroHtml = function (t) {
                                    var e = this.view, n = this.getCellDate(t, 0);
                                    return this.colWeekNumbersVisible ? '<td class="fc-week-number" ' + e.weekNumberStyleAttr() + ">" + e.buildGotoAnchorHtml({
                                        date: n,
                                        type: "week",
                                        forceOff: 1 === this.colCnt
                                    }, n.format("w")) + "</td>" : ""
                                }, e.prototype.renderBgIntroHtml = function () {
                                    var t = this.view;
                                    return this.colWeekNumbersVisible ? '<td class="fc-week-number ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.weekNumberStyleAttr() + "></td>" : ""
                                }, e.prototype.renderIntroHtml = function () {
                                    var t = this.view;
                                    return this.colWeekNumbersVisible ? '<td class="fc-week-number" ' + t.weekNumberStyleAttr() + "></td>" : ""
                                }, e.prototype.getIsNumbersVisible = function () {
                                    return c.default.prototype.getIsNumbersVisible.apply(this, arguments) || this.colWeekNumbersVisible
                                }, e
                            }(this.dayGridClass))(this)
                        }, e.prototype.executeDateRender = function (e) {
                            this.dayGrid.breakOnWeeks = /year|month|week/.test(e.currentRangeUnit), t.prototype.executeDateRender.call(this, e)
                        }, e.prototype.renderSkeleton = function () {
                            var t, e;
                            this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()), this.scroller.render(), t = this.scroller.el.addClass("fc-day-grid-container"), e = i('<div class="fc-day-grid" />').appendTo(t), this.el.find(".fc-body > tr > td").append(t), this.dayGrid.headContainerEl = this.el.find(".fc-head-container"), this.dayGrid.setElement(e)
                        }, e.prototype.unrenderSkeleton = function () {
                            this.dayGrid.removeElement(), this.scroller.destroy()
                        }, e.prototype.renderSkeletonHtml = function () {
                            var t = this.calendar.theme;
                            return '<table class="' + t.getClass("tableGrid") + '">' + (this.opt("columnHeader") ? '<thead class="fc-head"><tr><td class="fc-head-container ' + t.getClass("widgetHeader") + '">&nbsp;</td></tr></thead>' : "") + '<tbody class="fc-body"><tr><td class="' + t.getClass("widgetContent") + '"></td></tr></tbody></table>'
                        }, e.prototype.weekNumberStyleAttr = function () {
                            return null != this.weekNumberWidth ? 'style="width:' + this.weekNumberWidth + 'px"' : ""
                        }, e.prototype.hasRigidRows = function () {
                            var t = this.opt("eventLimit");
                            return t && "number" != typeof t
                        }, e.prototype.updateSize = function (e, n, r) {
                            var i, s, a = this.opt("eventLimit"), l = this.dayGrid.headContainerEl.find(".fc-row");
                            this.dayGrid.rowEls ? (t.prototype.updateSize.call(this, e, n, r), this.dayGrid.colWeekNumbersVisible && (this.weekNumberWidth = o.matchCellWidths(this.el.find(".fc-week-number"))), this.scroller.clear(), o.uncompensateScroll(l), this.dayGrid.removeSegPopover(), a && "number" == typeof a && this.dayGrid.limitRows(a), i = this.computeScrollerHeight(e), this.setGridHeight(i, n), a && "number" != typeof a && this.dayGrid.limitRows(a), n || (this.scroller.setHeight(i), ((s = this.scroller.getScrollbarWidths()).left || s.right) && (o.compensateScroll(l, s), i = this.computeScrollerHeight(e), this.scroller.setHeight(i)), this.scroller.lockOverflow(s))) : n || (i = this.computeScrollerHeight(e), this.scroller.setHeight(i))
                        }, e.prototype.computeScrollerHeight = function (t) {
                            return t - o.subtractInnerElHeight(this.el, this.scroller.el)
                        }, e.prototype.setGridHeight = function (t, e) {
                            e ? o.undistributeHeight(this.dayGrid.rowEls) : o.distributeHeight(this.dayGrid.rowEls, t, !0)
                        }, e.prototype.computeInitialDateScroll = function () {
                            return {top: 0}
                        }, e.prototype.queryDateScroll = function () {
                            return {top: this.scroller.getScrollTop()}
                        }, e.prototype.applyDateScroll = function (t) {
                            void 0 !== t.top && this.scroller.setScrollTop(t.top)
                        }, e
                    }(a.default);
                    e.default = d, d.prototype.dateProfileGeneratorClass = l.default, d.prototype.dayGridClass = c.default
                }, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(5), i = n(12), o = n(49), s = n(6), a = n(35), l = function () {
                        function t(t, e) {
                            this.eventManager = t, this._calendar = e
                        }

                        return t.prototype.opt = function (t) {
                            return this._calendar.opt(t)
                        }, t.prototype.isEventInstanceGroupAllowed = function (t) {
                            var e, n = t.getEventDef(), r = this.eventRangesToEventFootprints(t.getAllEventRanges()),
                                i = this.getPeerEventInstances(n).map(a.eventInstanceToEventRange),
                                o = this.eventRangesToEventFootprints(i), s = n.getConstraint(), l = n.getOverlap(),
                                c = this.opt("eventAllow");
                            for (e = 0; e < r.length; e++) if (!this.isFootprintAllowed(r[e].componentFootprint, o, s, l, r[e].eventInstance)) return !1;
                            if (c) for (e = 0; e < r.length; e++) if (!1 === c(r[e].componentFootprint.toLegacy(this._calendar), r[e].getEventLegacy())) return !1;
                            return !0
                        }, t.prototype.getPeerEventInstances = function (t) {
                            return this.eventManager.getEventInstancesWithoutId(t.id)
                        }, t.prototype.isSelectionFootprintAllowed = function (t) {
                            var e, n = this.eventManager.getEventInstances().map(a.eventInstanceToEventRange),
                                r = this.eventRangesToEventFootprints(n);
                            return !(!this.isFootprintAllowed(t, r, this.opt("selectConstraint"), this.opt("selectOverlap")) || (e = this.opt("selectAllow")) && !1 === e(t.toLegacy(this._calendar)))
                        }, t.prototype.isFootprintAllowed = function (t, e, n, r, i) {
                            var o, s;
                            if (null != n && (o = this.constraintValToFootprints(n, t.isAllDay), !this.isFootprintWithinConstraints(t, o))) return !1;
                            if (s = this.collectOverlapEventFootprints(e, t), !1 === r) {
                                if (s.length) return !1
                            } else if ("function" == typeof r && !function (t, e, n) {
                                var r;
                                for (r = 0; r < t.length; r++) if (!e(t[r].eventInstance.toLegacy(), n ? n.toLegacy() : null)) return !1;
                                return !0
                            }(s, r, i)) return !1;
                            return !(i && !function (t, e) {
                                var n, r, i, o, s = e.toLegacy();
                                for (n = 0; n < t.length; n++) {
                                    if (r = t[n].eventInstance, i = r.def, !1 === (o = i.getOverlap())) return !1;
                                    if ("function" == typeof o && !o(r.toLegacy(), s)) return !1
                                }
                                return !0
                            }(s, i))
                        }, t.prototype.isFootprintWithinConstraints = function (t, e) {
                            var n;
                            for (n = 0; n < e.length; n++) if (this.footprintContainsFootprint(e[n], t)) return !0;
                            return !1
                        }, t.prototype.constraintValToFootprints = function (t, e) {
                            var n;
                            return "businessHours" === t ? this.buildCurrentBusinessFootprints(e) : "object" === (void 0 === t ? "undefined" : (0, h.default)(t)) ? (n = this.parseEventDefToInstances(t)) ? this.eventInstancesToFootprints(n) : this.parseFootprints(t) : null != t ? (n = this.eventManager.getEventInstancesWithId(t), this.eventInstancesToFootprints(n)) : void 0
                        }, t.prototype.buildCurrentBusinessFootprints = function (t) {
                            var e = this._calendar.view, n = e.get("businessHourGenerator"),
                                r = e.dateProfile.activeUnzonedRange, i = n.buildEventInstanceGroup(t, r);
                            return i ? this.eventInstancesToFootprints(i.eventInstances) : []
                        }, t.prototype.eventInstancesToFootprints = function (t) {
                            var e = t.map(a.eventInstanceToEventRange);
                            return this.eventRangesToEventFootprints(e).map(a.eventFootprintToComponentFootprint)
                        }, t.prototype.collectOverlapEventFootprints = function (t, e) {
                            var n, r = [];
                            for (n = 0; n < t.length; n++) this.footprintsIntersect(e, t[n].componentFootprint) && r.push(t[n]);
                            return r
                        }, t.prototype.parseEventDefToInstances = function (t) {
                            var e = this.eventManager, n = o.default.parse(t, new s.default(this._calendar));
                            return !!n && n.buildInstances(e.currentPeriod.unzonedRange)
                        }, t.prototype.eventRangesToEventFootprints = function (t) {
                            var e, n = [];
                            for (e = 0; e < t.length; e++) n.push.apply(n, this.eventRangeToEventFootprints(t[e]));
                            return n
                        }, t.prototype.eventRangeToEventFootprints = function (t) {
                            return [a.eventRangeToEventFootprint(t)]
                        }, t.prototype.parseFootprints = function (t) {
                            var e, n;
                            return t.start && ((e = this._calendar.moment(t.start)).isValid() || (e = null)), t.end && ((n = this._calendar.moment(t.end)).isValid() || (n = null)), [new i.default(new r.default(e, n), e && !e.hasTime() || n && !n.hasTime())]
                        }, t.prototype.footprintContainsFootprint = function (t, e) {
                            return t.unzonedRange.containsRange(e.unzonedRange)
                        }, t.prototype.footprintsIntersect = function (t, e) {
                            return t.unzonedRange.intersectsWith(e.unzonedRange)
                        }, t
                    }();
                    e.default = l
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.defineStandardProps = function (t) {
                            var e = this.prototype;
                            e.hasOwnProperty("standardPropMap") || (e.standardPropMap = (0, c.default)(e.standardPropMap)), i.copyOwnProps(t, e.standardPropMap)
                        }, e.copyVerbatimStandardProps = function (t, e) {
                            var n, r = this.prototype.standardPropMap;
                            for (n in r) null != t[n] && !0 === r[n] && (e[n] = t[n])
                        }, e.prototype.applyProps = function (t) {
                            var e, n = this.standardPropMap, r = {}, i = {};
                            for (e in t) !0 === n[e] ? this[e] = t[e] : !1 === n[e] ? r[e] = t[e] : i[e] = t[e];
                            return this.applyMiscProps(i), this.applyManualStandardProps(r)
                        }, e.prototype.applyManualStandardProps = function (t) {
                            return !0
                        }, e.prototype.applyMiscProps = function (t) {
                        }, e.prototype.isStandardProp = function (t) {
                            return t in this.standardPropMap
                        }, e
                    }(n(14).default);
                    e.default = o, o.prototype.standardPropMap = {}
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t, e) {
                            this.def = t, this.dateProfile = e
                        }

                        return t.prototype.toLegacy = function () {
                            var t = this.dateProfile, e = this.def.toLegacy();
                            return e.start = t.start.clone(), e.end = t.end ? t.end.clone() : null, e
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(0), s = n(34), a = n(209), l = n(17), c = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.isAllDay = function () {
                            return !this.startTime && !this.endTime
                        }, e.prototype.buildInstances = function (t) {
                            for (var e, n, r, i = this.source.calendar, o = t.getStart(), s = t.getEnd(), c = []; o.isBefore(s);) this.dowHash && !this.dowHash[o.day()] || (n = (e = i.applyTimezone(o)).clone(), r = null, this.startTime ? n.time(this.startTime) : n.stripTime(), this.endTime && (r = e.clone().time(this.endTime)), c.push(new a.default(this, new l.default(n, r, i)))), o.add(1, "days");
                            return c
                        }, e.prototype.setDow = function (t) {
                            this.dowHash || (this.dowHash = {});
                            for (var e = 0; e < t.length; e++) this.dowHash[t[e]] = !0
                        }, e.prototype.clone = function () {
                            var e = t.prototype.clone.call(this);
                            return e.startTime && (e.startTime = o.duration(this.startTime)), e.endTime && (e.endTime = o.duration(this.endTime)), this.dowHash && (e.dowHash = i.extend({}, this.dowHash)), e
                        }, e
                    }(s.default);
                    e.default = c, c.prototype.applyProps = function (t) {
                        var e = s.default.prototype.applyProps.call(this, t);
                        return t.start && (this.startTime = o.duration(t.start)), t.end && (this.endTime = o.duration(t.end)), t.dow && this.setDow(t.dow), e
                    }, c.defineStandardProps({start: !1, end: !1, dow: !1})
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function (t, e, n) {
                        this.unzonedRange = t, this.eventDef = e, n && (this.eventInstance = n)
                    };
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(35), o = n(18), s = n(210), a = n(6),
                        l = {start: "09:00", end: "17:00", dow: [1, 2, 3, 4, 5], rendering: "inverse-background"},
                        c = function () {
                            function t(t, e) {
                                this.rawComplexDef = t, this.calendar = e
                            }

                            return t.prototype.buildEventInstanceGroup = function (t, e) {
                                var n, r = this.buildEventDefs(t);
                                if (r.length) return (n = new o.default(i.eventDefsToEventInstances(r, e))).explicitEventDef = r[0], n
                            }, t.prototype.buildEventDefs = function (t) {
                                var e, n = this.rawComplexDef, i = [], o = !1, s = [];
                                for (!0 === n ? i = [{}] : r.isPlainObject(n) ? i = [n] : r.isArray(n) && (i = n, o = !0), e = 0; e < i.length; e++) o && !i[e].dow || s.push(this.buildEventDef(t, i[e]));
                                return s
                            }, t.prototype.buildEventDef = function (t, e) {
                                var n = r.extend({}, l, e);
                                return t && (n.start = null, n.end = null), s.default.parse(n, new a.default(this.calendar))
                            }, t
                        }();
                    e.default = c
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e
                    }(n(19).default);
                    e.default = i, i.prototype.classes = {
                        widget: "fc-unthemed",
                        widgetHeader: "fc-widget-header",
                        widgetContent: "fc-widget-content",
                        buttonGroup: "fc-button-group",
                        button: "fc-button",
                        cornerLeft: "fc-corner-left",
                        cornerRight: "fc-corner-right",
                        stateDefault: "fc-state-default",
                        stateActive: "fc-state-active",
                        stateDisabled: "fc-state-disabled",
                        stateHover: "fc-state-hover",
                        stateDown: "fc-state-down",
                        popoverHeader: "fc-widget-header",
                        popoverContent: "fc-widget-content",
                        headerRow: "fc-widget-header",
                        dayRow: "fc-widget-content",
                        listView: "fc-widget-content"
                    }, i.prototype.baseIconClass = "fc-icon", i.prototype.iconClasses = {
                        close: "fc-icon-x",
                        prev: "fc-icon-left-single-arrow",
                        next: "fc-icon-right-single-arrow",
                        prevYear: "fc-icon-left-double-arrow",
                        nextYear: "fc-icon-right-double-arrow"
                    }, i.prototype.iconOverrideOption = "buttonIcons", i.prototype.iconOverrideCustomButtonOption = "icon", i.prototype.iconOverridePrefix = "fc-icon-"
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e
                    }(n(19).default);
                    e.default = i, i.prototype.classes = {
                        widget: "ui-widget",
                        widgetHeader: "ui-widget-header",
                        widgetContent: "ui-widget-content",
                        buttonGroup: "fc-button-group",
                        button: "ui-button",
                        cornerLeft: "ui-corner-left",
                        cornerRight: "ui-corner-right",
                        stateDefault: "ui-state-default",
                        stateActive: "ui-state-active",
                        stateDisabled: "ui-state-disabled",
                        stateHover: "ui-state-hover",
                        stateDown: "ui-state-down",
                        today: "ui-state-highlight",
                        popoverHeader: "ui-widget-header",
                        popoverContent: "ui-widget-content",
                        headerRow: "ui-widget-header",
                        dayRow: "ui-widget-content",
                        listView: "ui-widget-content"
                    }, i.prototype.baseIconClass = "ui-icon", i.prototype.iconClasses = {
                        close: "ui-icon-closethick",
                        prev: "ui-icon-circle-triangle-w",
                        next: "ui-icon-circle-triangle-e",
                        prevYear: "ui-icon-seek-prev",
                        nextYear: "ui-icon-seek-next"
                    }, i.prototype.iconOverrideOption = "themeButtonIcons", i.prototype.iconOverrideCustomButtonOption = "themeIcon", i.prototype.iconOverridePrefix = "ui-icon-"
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(20), s = n(6), a = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.parse = function (t, e) {
                            var n;
                            return i.isFunction(t.events) ? n = t : i.isFunction(t) && (n = {events: t}), !!n && s.default.parse.call(this, n, e)
                        }, e.prototype.fetch = function (t, e, n) {
                            var r = this;
                            return this.calendar.pushLoading(), o.default.construct((function (i) {
                                r.func.call(r.calendar, t.clone(), e.clone(), n, (function (t) {
                                    r.calendar.popLoading(), i(r.parseEventDefs(t))
                                }))
                            }))
                        }, e.prototype.getPrimitive = function () {
                            return this.func
                        }, e.prototype.applyManualStandardProps = function (e) {
                            var n = t.prototype.applyManualStandardProps.call(this, e);
                            return this.func = e.events, n
                        }, e
                    }(s.default);
                    e.default = a, a.defineStandardProps({events: !1})
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(20), a = n(6), l = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.parse = function (t, e) {
                            var n;
                            return "string" == typeof t.url ? n = t : "string" == typeof t && (n = {url: t}), !!n && a.default.parse.call(this, n, e)
                        }, e.prototype.fetch = function (t, n, r) {
                            var a = this, l = this.ajaxSettings, c = l.success, d = l.error,
                                u = this.buildRequestParams(t, n, r);
                            return this.calendar.pushLoading(), s.default.construct((function (t, n) {
                                i.ajax(i.extend({}, e.AJAX_DEFAULTS, l, {
                                    url: a.url,
                                    data: u,
                                    success: function (e, r, s) {
                                        var l;
                                        a.calendar.popLoading(), e ? (l = o.applyAll(c, a, [e, r, s]), i.isArray(l) && (e = l), t(a.parseEventDefs(e))) : n()
                                    },
                                    error: function (t, e, r) {
                                        a.calendar.popLoading(), o.applyAll(d, a, [t, e, r]), n()
                                    }
                                }))
                            }))
                        }, e.prototype.buildRequestParams = function (t, e, n) {
                            var r, o, s, a, l = this.calendar, c = this.ajaxSettings, d = {};
                            return null == (r = this.startParam) && (r = l.opt("startParam")), null == (o = this.endParam) && (o = l.opt("endParam")), null == (s = this.timezoneParam) && (s = l.opt("timezoneParam")), a = i.isFunction(c.data) ? c.data() : c.data || {}, i.extend(d, a), d[r] = t.format(), d[o] = e.format(), n && "local" !== n && (d[s] = n), d
                        }, e.prototype.getPrimitive = function () {
                            return this.url
                        }, e.prototype.applyMiscProps = function (t) {
                            this.ajaxSettings = t
                        }, e.AJAX_DEFAULTS = {dataType: "json", cache: !1}, e
                    }(a.default);
                    e.default = l, l.defineStandardProps({url: !0, startParam: !0, endParam: !0, timezoneParam: !0})
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(11), i = function () {
                        function t() {
                            this.q = [], this.isPaused = !1, this.isRunning = !1
                        }

                        return t.prototype.queue = function () {
                            for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                            this.q.push.apply(this.q, t), this.tryStart()
                        }, t.prototype.pause = function () {
                            this.isPaused = !0
                        }, t.prototype.resume = function () {
                            this.isPaused = !1, this.tryStart()
                        }, t.prototype.getIsIdle = function () {
                            return !this.isRunning && !this.isPaused
                        }, t.prototype.tryStart = function () {
                            !this.isRunning && this.canRunNext() && (this.isRunning = !0, this.trigger("start"), this.runRemaining())
                        }, t.prototype.canRunNext = function () {
                            return !this.isPaused && this.q.length
                        }, t.prototype.runRemaining = function () {
                            var t, e, n = this;
                            do {
                                if (t = this.q.shift(), (e = this.runTask(t)) && e.then) return void e.then((function () {
                                    n.canRunNext() && n.runRemaining()
                                }))
                            } while (this.canRunNext());
                            this.trigger("stop"), this.isRunning = !1, this.tryStart()
                        }, t.prototype.runTask = function (t) {
                            return t()
                        }, t
                    }();
                    e.default = i, r.default.mixInto(i)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e(e) {
                            var n = t.call(this) || this;
                            return n.waitsByNamespace = e || {}, n
                        }

                        return r.__extends(e, t), e.prototype.queue = function (t, e, n) {
                            var r, i = {func: t, namespace: e, type: n};
                            e && (r = this.waitsByNamespace[e]), this.waitNamespace && (e === this.waitNamespace && null != r ? this.delayWait(r) : (this.clearWait(), this.tryStart())), this.compoundTask(i) && (this.waitNamespace || null == r ? this.tryStart() : this.startWait(e, r))
                        }, e.prototype.startWait = function (t, e) {
                            this.waitNamespace = t, this.spawnWait(e)
                        }, e.prototype.delayWait = function (t) {
                            clearTimeout(this.waitId), this.spawnWait(t)
                        }, e.prototype.spawnWait = function (t) {
                            var e = this;
                            this.waitId = setTimeout((function () {
                                e.waitNamespace = null, e.tryStart()
                            }), t)
                        }, e.prototype.clearWait = function () {
                            this.waitNamespace && (clearTimeout(this.waitId), this.waitId = null, this.waitNamespace = null)
                        }, e.prototype.canRunNext = function () {
                            if (!t.prototype.canRunNext.call(this)) return !1;
                            if (this.waitNamespace) {
                                for (var e = this.q, n = 0; n < e.length; n++) if (e[n].namespace !== this.waitNamespace) return !0;
                                return !1
                            }
                            return !0
                        }, e.prototype.runTask = function (t) {
                            t.func()
                        }, e.prototype.compoundTask = function (t) {
                            var e, n = this.q, r = !0;
                            if (t.namespace && "destroy" === t.type) for (e = n.length - 1; e >= 0; e--) switch (n[e].type) {
                                case"init":
                                    r = !1;
                                case"add":
                                case"remove":
                                    n.splice(e, 1)
                            }
                            return r && n.push(t), r
                        }, e
                    }(n(217).default);
                    e.default = i
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(0), s = n(4), l = n(10), c = n(47), d = n(237), u = n(35),
                        h = function (t) {
                            function e(n, r) {
                                var i = t.call(this) || this;
                                return i.isRTL = !1, i.hitsNeededDepth = 0, i.hasAllDayBusinessHours = !1, i.isDatesRendered = !1, n && (i.view = n), r && (i.options = r), i.uid = String(e.guid++), i.childrenByUid = {}, i.nextDayThreshold = o.duration(i.opt("nextDayThreshold")), i.isRTL = i.opt("isRTL"), i.fillRendererClass && (i.fillRenderer = new i.fillRendererClass(i)), i.eventRendererClass && (i.eventRenderer = new i.eventRendererClass(i, i.fillRenderer)), i.helperRendererClass && i.eventRenderer && (i.helperRenderer = new i.helperRendererClass(i, i.eventRenderer)), i.businessHourRendererClass && i.fillRenderer && (i.businessHourRenderer = new i.businessHourRendererClass(i, i.fillRenderer)), i
                            }

                            return r.__extends(e, t), e.prototype.addChild = function (t) {
                                return !this.childrenByUid[t.uid] && (this.childrenByUid[t.uid] = t, !0)
                            }, e.prototype.removeChild = function (t) {
                                return !!this.childrenByUid[t.uid] && (delete this.childrenByUid[t.uid], !0)
                            }, e.prototype.updateSize = function (t, e, n) {
                                this.callChildren("updateSize", arguments)
                            }, e.prototype.opt = function (t) {
                                return this._getView().opt(t)
                            }, e.prototype.publiclyTrigger = function () {
                                for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                var n = this._getCalendar();
                                return n.publiclyTrigger.apply(n, t)
                            }, e.prototype.hasPublicHandlers = function () {
                                for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
                                var n = this._getCalendar();
                                return n.hasPublicHandlers.apply(n, t)
                            }, e.prototype.executeDateRender = function (t) {
                                this.dateProfile = t, this.renderDates(t), this.isDatesRendered = !0, this.callChildren("executeDateRender", arguments)
                            }, e.prototype.executeDateUnrender = function () {
                                this.callChildren("executeDateUnrender", arguments), this.dateProfile = null, this.unrenderDates(), this.isDatesRendered = !1
                            }, e.prototype.renderDates = function (t) {
                            }, e.prototype.unrenderDates = function () {
                            }, e.prototype.getNowIndicatorUnit = function () {
                            }, e.prototype.renderNowIndicator = function (t) {
                                this.callChildren("renderNowIndicator", arguments)
                            }, e.prototype.unrenderNowIndicator = function () {
                                this.callChildren("unrenderNowIndicator", arguments)
                            }, e.prototype.renderBusinessHours = function (t) {
                                this.businessHourRenderer && this.businessHourRenderer.render(t), this.callChildren("renderBusinessHours", arguments)
                            }, e.prototype.unrenderBusinessHours = function () {
                                this.callChildren("unrenderBusinessHours", arguments), this.businessHourRenderer && this.businessHourRenderer.unrender()
                            }, e.prototype.executeEventRender = function (t) {
                                this.eventRenderer ? (this.eventRenderer.rangeUpdated(), this.eventRenderer.render(t)) : this.renderEvents && this.renderEvents(f(t)), this.callChildren("executeEventRender", arguments)
                            }, e.prototype.executeEventUnrender = function () {
                                this.callChildren("executeEventUnrender", arguments), this.eventRenderer ? this.eventRenderer.unrender() : this.destroyEvents && this.destroyEvents()
                            }, e.prototype.getBusinessHourSegs = function () {
                                var t = this.getOwnBusinessHourSegs();
                                return this.iterChildren((function (e) {
                                    t.push.apply(t, e.getBusinessHourSegs())
                                })), t
                            }, e.prototype.getOwnBusinessHourSegs = function () {
                                return this.businessHourRenderer ? this.businessHourRenderer.getSegs() : []
                            }, e.prototype.getEventSegs = function () {
                                var t = this.getOwnEventSegs();
                                return this.iterChildren((function (e) {
                                    t.push.apply(t, e.getEventSegs())
                                })), t
                            }, e.prototype.getOwnEventSegs = function () {
                                return this.eventRenderer ? this.eventRenderer.getSegs() : []
                            }, e.prototype.triggerAfterEventsRendered = function () {
                                this.triggerAfterEventSegsRendered(this.getEventSegs()), this.publiclyTrigger("eventAfterAllRender", {
                                    context: this,
                                    args: [this]
                                })
                            }, e.prototype.triggerAfterEventSegsRendered = function (t) {
                                var e = this;
                                this.hasPublicHandlers("eventAfterRender") && t.forEach((function (t) {
                                    var n;
                                    t.el && (n = t.footprint.getEventLegacy(), e.publiclyTrigger("eventAfterRender", {
                                        context: n,
                                        args: [n, t.el, e]
                                    }))
                                }))
                            }, e.prototype.triggerBeforeEventsDestroyed = function () {
                                this.triggerBeforeEventSegsDestroyed(this.getEventSegs())
                            }, e.prototype.triggerBeforeEventSegsDestroyed = function (t) {
                                var e = this;
                                this.hasPublicHandlers("eventDestroy") && t.forEach((function (t) {
                                    var n;
                                    t.el && (n = t.footprint.getEventLegacy(), e.publiclyTrigger("eventDestroy", {
                                        context: n,
                                        args: [n, t.el, e]
                                    }))
                                }))
                            }, e.prototype.showEventsWithId = function (t) {
                                this.getEventSegs().forEach((function (e) {
                                    e.footprint.eventDef.id === t && e.el && e.el.css("visibility", "")
                                })), this.callChildren("showEventsWithId", arguments)
                            }, e.prototype.hideEventsWithId = function (t) {
                                this.getEventSegs().forEach((function (e) {
                                    e.footprint.eventDef.id === t && e.el && e.el.css("visibility", "hidden")
                                })), this.callChildren("hideEventsWithId", arguments)
                            }, e.prototype.renderDrag = function (t, e, n) {
                                var r = !1;
                                return this.iterChildren((function (i) {
                                    i.renderDrag(t, e, n) && (r = !0)
                                })), r
                            }, e.prototype.unrenderDrag = function () {
                                this.callChildren("unrenderDrag", arguments)
                            }, e.prototype.renderEventResize = function (t, e, n) {
                                this.callChildren("renderEventResize", arguments)
                            }, e.prototype.unrenderEventResize = function () {
                                this.callChildren("unrenderEventResize", arguments)
                            }, e.prototype.renderSelectionFootprint = function (t) {
                                this.renderHighlight(t), this.callChildren("renderSelectionFootprint", arguments)
                            }, e.prototype.unrenderSelection = function () {
                                this.unrenderHighlight(), this.callChildren("unrenderSelection", arguments)
                            }, e.prototype.renderHighlight = function (t) {
                                this.fillRenderer && this.fillRenderer.renderFootprint("highlight", t, {
                                    getClasses: function () {
                                        return ["fc-highlight"]
                                    }
                                }), this.callChildren("renderHighlight", arguments)
                            }, e.prototype.unrenderHighlight = function () {
                                this.fillRenderer && this.fillRenderer.unrender("highlight"), this.callChildren("unrenderHighlight", arguments)
                            }, e.prototype.hitsNeeded = function () {
                                this.hitsNeededDepth++ || this.prepareHits(), this.callChildren("hitsNeeded", arguments)
                            }, e.prototype.hitsNotNeeded = function () {
                                this.hitsNeededDepth && !--this.hitsNeededDepth && this.releaseHits(), this.callChildren("hitsNotNeeded", arguments)
                            }, e.prototype.prepareHits = function () {
                            }, e.prototype.releaseHits = function () {
                            }, e.prototype.queryHit = function (t, e) {
                                var n, r, i = this.childrenByUid;
                                for (n in i) if (r = i[n].queryHit(t, e)) break;
                                return r
                            }, e.prototype.getSafeHitFootprint = function (t) {
                                var e = this.getHitFootprint(t);
                                return this.dateProfile.activeUnzonedRange.containsRange(e.unzonedRange) ? e : null
                            }, e.prototype.getHitFootprint = function (t) {
                            }, e.prototype.getHitEl = function (t) {
                            }, e.prototype.eventRangesToEventFootprints = function (t) {
                                var e, n = [];
                                for (e = 0; e < t.length; e++) n.push.apply(n, this.eventRangeToEventFootprints(t[e]));
                                return n
                            }, e.prototype.eventRangeToEventFootprints = function (t) {
                                return [u.eventRangeToEventFootprint(t)]
                            }, e.prototype.eventFootprintsToSegs = function (t) {
                                var e, n = [];
                                for (e = 0; e < t.length; e++) n.push.apply(n, this.eventFootprintToSegs(t[e]));
                                return n
                            }, e.prototype.eventFootprintToSegs = function (t) {
                                var e, n, r, i = t.componentFootprint.unzonedRange;
                                for (e = this.componentFootprintToSegs(t.componentFootprint), n = 0; n < e.length; n++) r = e[n], i.isStart || (r.isStart = !1), i.isEnd || (r.isEnd = !1), r.footprint = t;
                                return e
                            }, e.prototype.componentFootprintToSegs = function (t) {
                                return []
                            }, e.prototype.callChildren = function (t, e) {
                                this.iterChildren((function (n) {
                                    n[t].apply(n, e)
                                }))
                            }, e.prototype.iterChildren = function (t) {
                                var e, n = this.childrenByUid;
                                for (e in n) t(n[e])
                            }, e.prototype._getCalendar = function () {
                                return this.calendar || this.view.calendar
                            }, e.prototype._getView = function () {
                                return this.view
                            }, e.prototype._getDateProfile = function () {
                                return this._getView().get("dateProfile")
                            }, e.prototype.buildGotoAnchorHtml = function (t, e, n) {
                                var r, o, c, d;
                                return i.isPlainObject(t) ? (r = t.date, o = t.type, c = t.forceOff) : r = t, d = {
                                    date: (r = l.default(r)).format("YYYY-MM-DD"),
                                    type: o || "day"
                                }, "string" == typeof e && (n = e, e = null), e = e ? " " + s.attrsToStr(e) : "", n = n || "", !c && this.opt("navLinks") ? "<a" + e + ' data-goto="' + s.htmlEscape((0, a.default)(d)) + '">' + n + "</a>" : "<span" + e + ">" + n + "</span>"
                            }, e.prototype.getAllDayHtml = function () {
                                return this.opt("allDayHtml") || s.htmlEscape(this.opt("allDayText"))
                            }, e.prototype.getDayClasses = function (t, e) {
                                var n, r = this._getView(), i = [];
                                return this.dateProfile.activeUnzonedRange.containsDate(t) ? (i.push("fc-" + s.dayIDs[t.day()]), r.isDateInOtherMonth(t, this.dateProfile) && i.push("fc-other-month"), n = r.calendar.getNow(), t.isSame(n, "day") ? (i.push("fc-today"), !0 !== e && i.push(r.calendar.theme.getClass("today"))) : t < n ? i.push("fc-past") : i.push("fc-future")) : i.push("fc-disabled-day"), i
                            }, e.prototype.formatRange = function (t, e, n, r) {
                                var i = t.end;
                                return e && (i = i.clone().subtract(1)), c.formatRange(t.start, i, n, r, this.isRTL)
                            }, e.prototype.currentRangeAs = function (t) {
                                return this._getDateProfile().currentUnzonedRange.as(t)
                            }, e.prototype.computeDayRange = function (t) {
                                var e = this._getCalendar(), n = e.msToUtcMoment(t.startMs, !0),
                                    r = e.msToUtcMoment(t.endMs), i = +r.time(), o = r.clone().stripTime();
                                return i && i >= this.nextDayThreshold && o.add(1, "days"), o <= n && (o = n.clone().add(1, "days")), {
                                    start: n,
                                    end: o
                                }
                            }, e.prototype.isMultiDayRange = function (t) {
                                var e = this.computeDayRange(t);
                                return e.end.diff(e.start, "days") > 1
                            }, e.guid = 0, e
                        }(d.default);

                    function f(t) {
                        var e, n, r, i = [];
                        for (e in t) for (n = t[e].eventInstances, r = 0; r < n.length; r++) i.push(n[r].toLegacy());
                        return i
                    }

                    e.default = h
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(0), o = n(4), s = n(32), a = n(238), l = n(21), d = n(11), u = n(7), f = n(239),
                        p = n(240), g = n(241), v = n(207), y = n(31), m = n(10), b = n(5), w = n(12), D = n(17),
                        E = n(242), S = n(212), C = n(38), M = n(49), x = n(13), R = n(37), T = n(6), k = n(51),
                        I = function () {
                            function t(t, e) {
                                this.loadingLevel = 0, this.ignoreUpdateViewSize = 0, this.freezeContentHeightDepth = 0, l.default.needed(), this.el = t, this.viewsByType = {}, this.optionsManager = new p.default(this, e), this.viewSpecManager = new g.default(this.optionsManager, this), this.initMomentInternals(), this.initCurrentDate(), this.initEventManager(), this.constraints = new v.default(this.eventManager, this), this.constructed()
                            }

                            return t.prototype.constructed = function () {
                            }, t.prototype.getView = function () {
                                return this.view
                            }, t.prototype.publiclyTrigger = function (t, e) {
                                var n, i, o = this.opt(t);
                                if (r.isPlainObject(e) ? (n = e.context, i = e.args) : r.isArray(e) && (i = e), null == n && (n = this.el[0]), i || (i = []), this.triggerWith(t, n, i), o) return o.apply(n, i)
                            }, t.prototype.hasPublicHandlers = function (t) {
                                return this.hasHandlers(t) || this.opt(t)
                            }, t.prototype.option = function (t, e) {
                                var n;
                                if ("string" == typeof t) {
                                    if (void 0 === e) return this.optionsManager.get(t);
                                    (n = {})[t] = e, this.optionsManager.add(n)
                                } else "object" === (void 0 === t ? "undefined" : (0, h.default)(t)) && this.optionsManager.add(t)
                            }, t.prototype.opt = function (t) {
                                return this.optionsManager.get(t)
                            }, t.prototype.instantiateView = function (t) {
                                var e = this.viewSpecManager.getViewSpec(t);
                                if (!e) throw new Error('View type "' + t + '" is not valid');
                                return new e.class(this, e)
                            }, t.prototype.isValidViewType = function (t) {
                                return Boolean(this.viewSpecManager.getViewSpec(t))
                            }, t.prototype.changeView = function (t, e) {
                                e && (e.start && e.end ? this.optionsManager.recordOverrides({visibleRange: e}) : this.currentDate = this.moment(e).stripZone()), this.renderView(t)
                            }, t.prototype.zoomTo = function (t, e) {
                                var n;
                                e = e || "day", n = this.viewSpecManager.getViewSpec(e) || this.viewSpecManager.getUnitViewSpec(e), this.currentDate = t.clone(), this.renderView(n ? n.type : null)
                            }, t.prototype.initCurrentDate = function () {
                                var t = this.opt("defaultDate");
                                this.currentDate = null != t ? this.moment(t).stripZone() : this.getNow()
                            }, t.prototype.prev = function () {
                                var t = this.view, e = t.dateProfileGenerator.buildPrev(t.get("dateProfile"));
                                e.isValid && (this.currentDate = e.date, this.renderView())
                            }, t.prototype.next = function () {
                                var t = this.view, e = t.dateProfileGenerator.buildNext(t.get("dateProfile"));
                                e.isValid && (this.currentDate = e.date, this.renderView())
                            }, t.prototype.prevYear = function () {
                                this.currentDate.add(-1, "years"), this.renderView()
                            }, t.prototype.nextYear = function () {
                                this.currentDate.add(1, "years"), this.renderView()
                            }, t.prototype.today = function () {
                                this.currentDate = this.getNow(), this.renderView()
                            }, t.prototype.gotoDate = function (t) {
                                this.currentDate = this.moment(t).stripZone(), this.renderView()
                            }, t.prototype.incrementDate = function (t) {
                                this.currentDate.add(i.duration(t)), this.renderView()
                            }, t.prototype.getDate = function () {
                                return this.applyTimezone(this.currentDate)
                            }, t.prototype.pushLoading = function () {
                                this.loadingLevel++ || this.publiclyTrigger("loading", [!0, this.view])
                            }, t.prototype.popLoading = function () {
                                --this.loadingLevel || this.publiclyTrigger("loading", [!1, this.view])
                            }, t.prototype.render = function () {
                                this.contentEl ? this.elementVisible() && (this.calcSize(), this.updateViewSize()) : this.initialRender()
                            }, t.prototype.initialRender = function () {
                                var t = this, e = this.el;
                                e.addClass("fc"), e.on("click.fc", "a[data-goto]", (function (e) {
                                    var n = r(e.currentTarget).data("goto"), i = t.moment(n.date), s = n.type,
                                        a = t.view.opt("navLink" + o.capitaliseFirstLetter(s) + "Click");
                                    "function" == typeof a ? a(i, e) : ("string" == typeof a && (s = a), t.zoomTo(i, s))
                                })), this.optionsManager.watch("settingTheme", ["?theme", "?themeSystem"], (function (n) {
                                    var r = new (k.getThemeSystemClass(n.themeSystem || n.theme))(t.optionsManager),
                                        i = r.getClass("widget");
                                    t.theme = r, i && e.addClass(i)
                                }), (function () {
                                    var n = t.theme.getClass("widget");
                                    t.theme = null, n && e.removeClass(n)
                                })), this.optionsManager.watch("settingBusinessHourGenerator", ["?businessHours"], (function (e) {
                                    t.businessHourGenerator = new S.default(e.businessHours, t), t.view && t.view.set("businessHourGenerator", t.businessHourGenerator)
                                }), (function () {
                                    t.businessHourGenerator = null
                                })), this.optionsManager.watch("applyingDirClasses", ["?isRTL", "?locale"], (function (t) {
                                    e.toggleClass("fc-ltr", !t.isRTL), e.toggleClass("fc-rtl", t.isRTL)
                                })), this.contentEl = r("<div class='fc-view-container'/>").prependTo(e), this.initToolbars(), this.renderHeader(), this.renderFooter(), this.renderView(this.opt("defaultView")), this.opt("handleWindowResize") && r(window).resize(this.windowResizeProxy = o.debounce(this.windowResize.bind(this), this.opt("windowResizeDelay")))
                            }, t.prototype.destroy = function () {
                                this.view && this.clearView(), this.toolbarsManager.proxyCall("removeElement"), this.contentEl.remove(), this.el.removeClass("fc fc-ltr fc-rtl"), this.optionsManager.unwatch("settingTheme"), this.optionsManager.unwatch("settingBusinessHourGenerator"), this.el.off(".fc"), this.windowResizeProxy && (r(window).unbind("resize", this.windowResizeProxy), this.windowResizeProxy = null), l.default.unneeded()
                            }, t.prototype.elementVisible = function () {
                                return this.el.is(":visible")
                            }, t.prototype.bindViewHandlers = function (t) {
                                var e = this;
                                t.watch("titleForCalendar", ["title"], (function (n) {
                                    t === e.view && e.setToolbarsTitle(n.title)
                                })), t.watch("dateProfileForCalendar", ["dateProfile"], (function (n) {
                                    t === e.view && (e.currentDate = n.dateProfile.date, e.updateToolbarButtons(n.dateProfile))
                                }))
                            }, t.prototype.unbindViewHandlers = function (t) {
                                t.unwatch("titleForCalendar"), t.unwatch("dateProfileForCalendar")
                            }, t.prototype.renderView = function (t) {
                                var e, n = this.view;
                                this.freezeContentHeight(), n && t && n.type !== t && this.clearView(), !this.view && t && (e = this.view = this.viewsByType[t] || (this.viewsByType[t] = this.instantiateView(t)), this.bindViewHandlers(e), e.startBatchRender(), e.setElement(r("<div class='fc-view fc-" + t + "-view' />").appendTo(this.contentEl)), this.toolbarsManager.proxyCall("activateButton", t)), this.view && (this.view.get("businessHourGenerator") !== this.businessHourGenerator && this.view.set("businessHourGenerator", this.businessHourGenerator), this.view.setDate(this.currentDate), e && e.stopBatchRender()), this.thawContentHeight()
                            }, t.prototype.clearView = function () {
                                var t = this.view;
                                this.toolbarsManager.proxyCall("deactivateButton", t.type), this.unbindViewHandlers(t), t.removeElement(), t.unsetDate(), this.view = null
                            }, t.prototype.reinitView = function () {
                                var t = this.view, e = t.queryScroll();
                                this.freezeContentHeight(), this.clearView(), this.calcSize(), this.renderView(t.type), this.view.applyScroll(e), this.thawContentHeight()
                            }, t.prototype.getSuggestedViewHeight = function () {
                                return null == this.suggestedViewHeight && this.calcSize(), this.suggestedViewHeight
                            }, t.prototype.isHeightAuto = function () {
                                return "auto" === this.opt("contentHeight") || "auto" === this.opt("height")
                            }, t.prototype.updateViewSize = function (t) {
                                void 0 === t && (t = !1);
                                var e, n = this.view;
                                if (!this.ignoreUpdateViewSize && n) return t && (this.calcSize(), e = n.queryScroll()), this.ignoreUpdateViewSize++, n.updateSize(this.getSuggestedViewHeight(), this.isHeightAuto(), t), this.ignoreUpdateViewSize--, t && n.applyScroll(e), !0
                            }, t.prototype.calcSize = function () {
                                this.elementVisible() && this._calcSize()
                            }, t.prototype._calcSize = function () {
                                var t = this.opt("contentHeight"), e = this.opt("height");
                                this.suggestedViewHeight = "number" == typeof t ? t : "function" == typeof t ? t() : "number" == typeof e ? e - this.queryToolbarsHeight() : "function" == typeof e ? e() - this.queryToolbarsHeight() : "parent" === e ? this.el.parent().height() - this.queryToolbarsHeight() : Math.round(this.contentEl.width() / Math.max(this.opt("aspectRatio"), .5))
                            }, t.prototype.windowResize = function (t) {
                                t.target === window && this.view && this.view.isDatesRendered && this.updateViewSize(!0) && this.publiclyTrigger("windowResize", [this.view])
                            }, t.prototype.freezeContentHeight = function () {
                                this.freezeContentHeightDepth++ || this.forceFreezeContentHeight()
                            }, t.prototype.forceFreezeContentHeight = function () {
                                this.contentEl.css({width: "100%", height: this.contentEl.height(), overflow: "hidden"})
                            }, t.prototype.thawContentHeight = function () {
                                this.freezeContentHeightDepth--, this.contentEl.css({
                                    width: "",
                                    height: "",
                                    overflow: ""
                                }), this.freezeContentHeightDepth && this.forceFreezeContentHeight()
                            }, t.prototype.initToolbars = function () {
                                this.header = new f.default(this, this.computeHeaderOptions()), this.footer = new f.default(this, this.computeFooterOptions()), this.toolbarsManager = new a.default([this.header, this.footer])
                            }, t.prototype.computeHeaderOptions = function () {
                                return {extraClasses: "fc-header-toolbar", layout: this.opt("header")}
                            }, t.prototype.computeFooterOptions = function () {
                                return {extraClasses: "fc-footer-toolbar", layout: this.opt("footer")}
                            }, t.prototype.renderHeader = function () {
                                var t = this.header;
                                t.setToolbarOptions(this.computeHeaderOptions()), t.render(), t.el && this.el.prepend(t.el)
                            }, t.prototype.renderFooter = function () {
                                var t = this.footer;
                                t.setToolbarOptions(this.computeFooterOptions()), t.render(), t.el && this.el.append(t.el)
                            }, t.prototype.setToolbarsTitle = function (t) {
                                this.toolbarsManager.proxyCall("updateTitle", t)
                            }, t.prototype.updateToolbarButtons = function (t) {
                                var e = this.getNow(), n = this.view, r = n.dateProfileGenerator.build(e),
                                    i = n.dateProfileGenerator.buildPrev(n.get("dateProfile")),
                                    o = n.dateProfileGenerator.buildNext(n.get("dateProfile"));
                                this.toolbarsManager.proxyCall(r.isValid && !t.currentUnzonedRange.containsDate(e) ? "enableButton" : "disableButton", "today"), this.toolbarsManager.proxyCall(i.isValid ? "enableButton" : "disableButton", "prev"), this.toolbarsManager.proxyCall(o.isValid ? "enableButton" : "disableButton", "next")
                            }, t.prototype.queryToolbarsHeight = function () {
                                return this.toolbarsManager.items.reduce((function (t, e) {
                                    return t + (e.el ? e.el.outerHeight(!0) : 0)
                                }), 0)
                            }, t.prototype.select = function (t, e) {
                                this.view.select(this.buildSelectFootprint.apply(this, arguments))
                            }, t.prototype.unselect = function () {
                                this.view && this.view.unselect()
                            }, t.prototype.buildSelectFootprint = function (t, e) {
                                var n, r = this.moment(t).stripZone();
                                return n = e ? this.moment(e).stripZone() : r.hasTime() ? r.clone().add(this.defaultTimedEventDuration) : r.clone().add(this.defaultAllDayEventDuration), new w.default(new b.default(r, n), !r.hasTime())
                            }, t.prototype.initMomentInternals = function () {
                                var t = this;
                                this.defaultAllDayEventDuration = i.duration(this.opt("defaultAllDayEventDuration")), this.defaultTimedEventDuration = i.duration(this.opt("defaultTimedEventDuration")), this.optionsManager.watch("buildingMomentLocale", ["?locale", "?monthNames", "?monthNamesShort", "?dayNames", "?dayNamesShort", "?firstDay", "?weekNumberCalculation"], (function (e) {
                                    var n, r = e.weekNumberCalculation, i = e.firstDay;
                                    "iso" === r && (r = "ISO");
                                    var o = (0, c.default)(y.getMomentLocaleData(e.locale));
                                    e.monthNames && (o._months = e.monthNames), e.monthNamesShort && (o._monthsShort = e.monthNamesShort), e.dayNames && (o._weekdays = e.dayNames), e.dayNamesShort && (o._weekdaysShort = e.dayNamesShort), null == i && "ISO" === r && (i = 1), null != i && ((n = (0, c.default)(o._week)).dow = i, o._week = n), "ISO" !== r && "local" !== r && "function" != typeof r || (o._fullCalendar_weekCalc = r), t.localeData = o, t.currentDate && t.localizeMoment(t.currentDate)
                                }))
                            }, t.prototype.moment = function () {
                                for (var t, e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n];
                                return "local" === this.opt("timezone") ? (t = m.default.apply(null, e)).hasTime() && t.local() : t = "UTC" === this.opt("timezone") ? m.default.utc.apply(null, e) : m.default.parseZone.apply(null, e), this.localizeMoment(t), t
                            }, t.prototype.msToMoment = function (t, e) {
                                var n = m.default.utc(t);
                                return e ? n.stripTime() : n = this.applyTimezone(n), this.localizeMoment(n), n
                            }, t.prototype.msToUtcMoment = function (t, e) {
                                var n = m.default.utc(t);
                                return e && n.stripTime(), this.localizeMoment(n), n
                            }, t.prototype.localizeMoment = function (t) {
                                t._locale = this.localeData
                            }, t.prototype.getIsAmbigTimezone = function () {
                                return "local" !== this.opt("timezone") && "UTC" !== this.opt("timezone")
                            }, t.prototype.applyTimezone = function (t) {
                                if (!t.hasTime()) return t.clone();
                                var e, n = this.moment(t.toArray()),
                                    r = t.time().asMilliseconds() - n.time().asMilliseconds();
                                return r && (e = n.clone().add(r), t.time().asMilliseconds() - e.time().asMilliseconds() == 0 && (n = e)), n
                            }, t.prototype.footprintToDateProfile = function (t, e) {
                                void 0 === e && (e = !1);
                                var n, r = m.default.utc(t.unzonedRange.startMs);
                                return e || (n = m.default.utc(t.unzonedRange.endMs)), t.isAllDay ? (r.stripTime(), n && n.stripTime()) : (r = this.applyTimezone(r), n && (n = this.applyTimezone(n))), new D.default(r, n, this)
                            }, t.prototype.getNow = function () {
                                var t = this.opt("now");
                                return "function" == typeof t && (t = t()), this.moment(t).stripZone()
                            }, t.prototype.humanizeDuration = function (t) {
                                return t.locale(this.opt("locale")).humanize()
                            }, t.prototype.parseUnzonedRange = function (t) {
                                var e = null, n = null;
                                return t.start && (e = this.moment(t.start).stripZone()), t.end && (n = this.moment(t.end).stripZone()), e || n ? e && n && n.isBefore(e) ? null : new b.default(e, n) : null
                            }, t.prototype.initEventManager = function () {
                                var t = this, e = new E.default(this), n = this.opt("eventSources") || [],
                                    r = this.opt("events");
                                this.eventManager = e, r && n.unshift(r), e.on("release", (function (e) {
                                    t.trigger("eventsReset", e)
                                })), e.freeze(), n.forEach((function (n) {
                                    var r = C.default.parse(n, t);
                                    r && e.addSource(r)
                                })), e.thaw()
                            }, t.prototype.requestEvents = function (t, e) {
                                return this.eventManager.requestEvents(t, e, this.opt("timezone"), !this.opt("lazyFetching"))
                            }, t.prototype.getEventEnd = function (t) {
                                return t.end ? t.end.clone() : this.getDefaultEventEnd(t.allDay, t.start)
                            }, t.prototype.getDefaultEventEnd = function (t, e) {
                                var n = e.clone();
                                return t ? n.stripTime().add(this.defaultAllDayEventDuration) : n.add(this.defaultTimedEventDuration), this.getIsAmbigTimezone() && n.stripZone(), n
                            }, t.prototype.rerenderEvents = function () {
                                this.view.flash("displayingEvents")
                            }, t.prototype.refetchEvents = function () {
                                this.eventManager.refetchAllSources()
                            }, t.prototype.renderEvents = function (t, e) {
                                this.eventManager.freeze();
                                for (var n = 0; n < t.length; n++) this.renderEvent(t[n], e);
                                this.eventManager.thaw()
                            }, t.prototype.renderEvent = function (t, e) {
                                void 0 === e && (e = !1);
                                var n = this.eventManager, r = M.default.parse(t, t.source || n.stickySource);
                                r && n.addEventDef(r, e)
                            }, t.prototype.removeEvents = function (t) {
                                var e, n = this.eventManager, r = [], i = {};
                                if (null == t) n.removeAllEventDefs(); else {
                                    for (n.getEventInstances().forEach((function (t) {
                                        r.push(t.toLegacy())
                                    })), r = F(r, t), e = 0; e < r.length; e++) i[this.eventManager.getEventDefByUid(r[e]._id).id] = !0;
                                    for (e in n.freeze(), i) n.removeEventDefsById(e);
                                    n.thaw()
                                }
                            }, t.prototype.clientEvents = function (t) {
                                var e = [];
                                return this.eventManager.getEventInstances().forEach((function (t) {
                                    e.push(t.toLegacy())
                                })), F(e, t)
                            }, t.prototype.updateEvents = function (t) {
                                this.eventManager.freeze();
                                for (var e = 0; e < t.length; e++) this.updateEvent(t[e]);
                                this.eventManager.thaw()
                            }, t.prototype.updateEvent = function (t) {
                                var e, n, r = this.eventManager.getEventDefByUid(t._id);
                                r instanceof x.default && (e = r.buildInstance(), n = R.default.createFromRawProps(e, t, null), this.eventManager.mutateEventsWithId(r.id, n))
                            }, t.prototype.getEventSources = function () {
                                return this.eventManager.otherSources.slice()
                            }, t.prototype.getEventSourceById = function (t) {
                                return this.eventManager.getSourceById(T.default.normalizeId(t))
                            }, t.prototype.addEventSource = function (t) {
                                var e = C.default.parse(t, this);
                                e && this.eventManager.addSource(e)
                            }, t.prototype.removeEventSources = function (t) {
                                var e, n, r = this.eventManager;
                                if (null == t) this.eventManager.removeAllSources(); else {
                                    for (e = r.multiQuerySources(t), r.freeze(), n = 0; n < e.length; n++) r.removeSource(e[n]);
                                    r.thaw()
                                }
                            }, t.prototype.removeEventSource = function (t) {
                                var e, n = this.eventManager, r = n.querySources(t);
                                for (n.freeze(), e = 0; e < r.length; e++) n.removeSource(r[e]);
                                n.thaw()
                            }, t.prototype.refetchEventSources = function (t) {
                                var e, n = this.eventManager, r = n.multiQuerySources(t);
                                for (n.freeze(), e = 0; e < r.length; e++) n.refetchSource(r[e]);
                                n.thaw()
                            }, t.defaults = s.globalDefaults, t.englishDefaults = s.englishDefaults, t.rtlDefaults = s.rtlDefaults, t
                        }();

                    function F(t, e) {
                        return null == e ? t : r.isFunction(e) ? t.filter(e) : (e += "", t.filter((function (t) {
                            return t.id == e || t._id === e
                        })))
                    }

                    e.default = I, d.default.mixInto(I), u.default.mixInto(I)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(4), o = n(5), s = function () {
                        function t(t) {
                            this._view = t
                        }

                        return t.prototype.opt = function (t) {
                            return this._view.opt(t)
                        }, t.prototype.trimHiddenDays = function (t) {
                            return this._view.trimHiddenDays(t)
                        }, t.prototype.msToUtcMoment = function (t, e) {
                            return this._view.calendar.msToUtcMoment(t, e)
                        }, t.prototype.buildPrev = function (t) {
                            var e = t.date.clone().startOf(t.currentRangeUnit).subtract(t.dateIncrement);
                            return this.build(e, -1)
                        }, t.prototype.buildNext = function (t) {
                            var e = t.date.clone().startOf(t.currentRangeUnit).add(t.dateIncrement);
                            return this.build(e, 1)
                        }, t.prototype.build = function (t, e, n) {
                            void 0 === n && (n = !1);
                            var i, o, s, a, l, c, d, u, h = !t.hasTime();
                            return i = this.buildValidRange(), i = this.trimHiddenDays(i), n && (t = this.msToUtcMoment(i.constrainDate(t), h)), a = this.buildCurrentRangeInfo(t, e), l = /^(year|month|week|day)$/.test(a.unit), c = this.buildRenderRange(this.trimHiddenDays(a.unzonedRange), a.unit, l), d = (c = this.trimHiddenDays(c)).clone(), this.opt("showNonCurrentDates") || (d = d.intersect(a.unzonedRange)), o = r.duration(this.opt("minTime")), s = r.duration(this.opt("maxTime")), (d = (d = this.adjustActiveRange(d, o, s)).intersect(i)) && (t = this.msToUtcMoment(d.constrainDate(t), h)), u = a.unzonedRange.intersectsWith(i), {
                                validUnzonedRange: i,
                                currentUnzonedRange: a.unzonedRange,
                                currentRangeUnit: a.unit,
                                isRangeAllDay: l,
                                activeUnzonedRange: d,
                                renderUnzonedRange: c,
                                minTime: o,
                                maxTime: s,
                                isValid: u,
                                date: t,
                                dateIncrement: this.buildDateIncrement(a.duration)
                            }
                        }, t.prototype.buildValidRange = function () {
                            return this._view.getUnzonedRangeOption("validRange", this._view.calendar.getNow()) || new o.default
                        }, t.prototype.buildCurrentRangeInfo = function (t, e) {
                            var n, r = this._view.viewSpec, o = null, s = null, a = null;
                            return r.duration ? (o = r.duration, s = r.durationUnit, a = this.buildRangeFromDuration(t, e, o, s)) : (n = this.opt("dayCount")) ? (s = "day", a = this.buildRangeFromDayCount(t, e, n)) : (a = this.buildCustomVisibleRange(t)) ? s = i.computeGreatestUnit(a.getStart(), a.getEnd()) : (o = this.getFallbackDuration(), s = i.computeGreatestUnit(o), a = this.buildRangeFromDuration(t, e, o, s)), {
                                duration: o,
                                unit: s,
                                unzonedRange: a
                            }
                        }, t.prototype.getFallbackDuration = function () {
                            return r.duration({days: 1})
                        }, t.prototype.adjustActiveRange = function (t, e, n) {
                            var r = t.getStart(), i = t.getEnd();
                            return this._view.usesMinMaxTime && (e < 0 && r.time(0).add(e), n > 864e5 && i.time(n - 864e5)), new o.default(r, i)
                        }, t.prototype.buildRangeFromDuration = function (t, e, n, s) {
                            var a, l, c, d, u, h = this.opt("dateAlignment");

                            function f() {
                                c = t.clone().startOf(h), d = c.clone().add(n), u = new o.default(c, d)
                            }

                            return h || ((a = this.opt("dateIncrement")) ? (l = r.duration(a), h = l < n ? i.computeDurationGreatestUnit(l, a) : s) : h = s), n.as("days") <= 1 && this._view.isHiddenDay(c) && (c = this._view.skipHiddenDays(c, e)).startOf("day"), f(), this.trimHiddenDays(u) || (t = this._view.skipHiddenDays(t, e), f()), u
                        }, t.prototype.buildRangeFromDayCount = function (t, e, n) {
                            var r, i = this.opt("dateAlignment"), s = 0, a = t.clone();
                            i && a.startOf(i), a.startOf("day"), r = (a = this._view.skipHiddenDays(a, e)).clone();
                            do {
                                r.add(1, "day"), this._view.isHiddenDay(r) || s++
                            } while (s < n);
                            return new o.default(a, r)
                        }, t.prototype.buildCustomVisibleRange = function (t) {
                            var e = this._view.getUnzonedRangeOption("visibleRange", this._view.calendar.applyTimezone(t));
                            return !e || null != e.startMs && null != e.endMs ? e : null
                        }, t.prototype.buildRenderRange = function (t, e, n) {
                            return t.clone()
                        }, t.prototype.buildDateIncrement = function (t) {
                            var e, n = this.opt("dateIncrement");
                            return n ? r.duration(n) : (e = this.opt("dateAlignment")) ? r.duration(1, e) : t || r.duration({days: 1})
                        }, t
                    }();
                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(0), s = n(16), a = n(4), l = n(10), c = n(7), d = n(23), u = n(13),
                        f = n(18), p = n(6), g = function (t) {
                            function e() {
                                var e = null !== t && t.apply(this, arguments) || this;
                                return e.isDragging = !1, e
                            }

                            return r.__extends(e, t), e.prototype.end = function () {
                                this.dragListener && this.dragListener.endInteraction()
                            }, e.prototype.bindToDocument = function () {
                                this.listenTo(i(document), {
                                    dragstart: this.handleDragStart,
                                    sortstart: this.handleDragStart
                                })
                            }, e.prototype.unbindFromDocument = function () {
                                this.stopListeningTo(i(document))
                            }, e.prototype.handleDragStart = function (t, e) {
                                var n, r;
                                this.opt("droppable") && (n = i((e ? e.item : null) || t.target), r = this.opt("dropAccept"), (i.isFunction(r) ? r.call(n[0], n) : n.is(r)) && (this.isDragging || this.listenToExternalDrag(n, t, e)))
                            }, e.prototype.listenToExternalDrag = function (t, e, n) {
                                var r, l = this, c = this.component, u = this.view, p = function (t) {
                                    var e, n, r, a, l = s.dataAttrPrefix;
                                    return l && (l += "-"), (e = t.data(l + "event") || null) && (e = "object" === (void 0 === e ? "undefined" : (0, h.default)(e)) ? i.extend({}, e) : {}, null == (n = e.start) && (n = e.time), r = e.duration, a = e.stick, delete e.start, delete e.time, delete e.duration, delete e.stick), null == n && (n = t.data(l + "start")), null == n && (n = t.data(l + "time")), null == r && (r = t.data(l + "duration")), null == a && (a = t.data(l + "stick")), n = null != n ? o.duration(n) : null, r = null != r ? o.duration(r) : null, a = Boolean(a), {
                                        eventProps: e,
                                        startTime: n,
                                        duration: r,
                                        stick: a
                                    }
                                }(t);
                                (this.dragListener = new d.default(c, {
                                    interactionStart: function () {
                                        l.isDragging = !0
                                    }, hitOver: function (t) {
                                        var e, n = !0, i = t.component.getSafeHitFootprint(t);
                                        i && (r = l.computeExternalDrop(i, p)) ? (e = new f.default(r.buildInstances()), n = p.eventProps ? c.isEventInstanceGroupAllowed(e) : c.isExternalInstanceGroupAllowed(e)) : n = !1, n || (r = null, a.disableCursor()), r && c.renderDrag(c.eventRangesToEventFootprints(e.sliceRenderRanges(c.dateProfile.renderUnzonedRange, u.calendar)))
                                    }, hitOut: function () {
                                        r = null
                                    }, hitDone: function () {
                                        a.enableCursor(), c.unrenderDrag()
                                    }, interactionEnd: function (e) {
                                        r && u.reportExternalDrop(r, Boolean(p.eventProps), Boolean(p.stick), t, e, n), l.isDragging = !1, l.dragListener = null
                                    }
                                })).startDrag(e)
                            }, e.prototype.computeExternalDrop = function (t, e) {
                                var n, r = this.view.calendar, o = l.default.utc(t.unzonedRange.startMs).stripZone();
                                return t.isAllDay && (e.startTime ? o.time(e.startTime) : o.stripTime()), e.duration && (n = o.clone().add(e.duration)), o = r.applyTimezone(o), n && (n = r.applyTimezone(n)), u.default.parse(i.extend({}, e.eventProps, {
                                    start: o,
                                    end: n
                                }), new p.default(r))
                            }, e
                        }(n(15).default);
                    e.default = g, c.default.mixInto(g), s.dataAttrPrefix = ""
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(37), a = n(50), l = n(23), c = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e) || this;
                            return r.isResizing = !1, r.eventPointing = n, r
                        }

                        return r.__extends(e, t), e.prototype.end = function () {
                            this.dragListener && this.dragListener.endInteraction()
                        }, e.prototype.bindToEl = function (t) {
                            var e = this.component;
                            e.bindSegHandlerToEl(t, "mousedown", this.handleMouseDown.bind(this)), e.bindSegHandlerToEl(t, "touchstart", this.handleTouchStart.bind(this))
                        }, e.prototype.handleMouseDown = function (t, e) {
                            this.component.canStartResize(t, e) && this.buildDragListener(t, i(e.target).is(".fc-start-resizer")).startInteraction(e, {distance: 5})
                        }, e.prototype.handleTouchStart = function (t, e) {
                            this.component.canStartResize(t, e) && this.buildDragListener(t, i(e.target).is(".fc-start-resizer")).startInteraction(e)
                        }, e.prototype.buildDragListener = function (t, e) {
                            var n, r, i = this, s = this.component, a = this.view, c = a.calendar, d = c.eventManager,
                                u = t.el, h = t.footprint.eventDef, f = t.footprint.eventInstance;
                            return this.dragListener = new l.default(s, {
                                scroll: this.opt("dragScroll"),
                                subjectEl: u,
                                interactionStart: function () {
                                    n = !1
                                },
                                dragStart: function (e) {
                                    n = !0, i.eventPointing.handleMouseout(t, e), i.segResizeStart(t, e)
                                },
                                hitOver: function (n, l, u) {
                                    var f, p = !0, g = s.getSafeHitFootprint(u), v = s.getSafeHitFootprint(n);
                                    g && v && (r = e ? i.computeEventStartResizeMutation(g, v, t.footprint) : i.computeEventEndResizeMutation(g, v, t.footprint)) ? (f = d.buildMutatedEventInstanceGroup(h.id, r), p = s.isEventInstanceGroupAllowed(f)) : p = !1, p ? r.isEmpty() && (r = null) : (r = null, o.disableCursor()), r && (a.hideEventsWithId(t.footprint.eventDef.id), a.renderEventResize(s.eventRangesToEventFootprints(f.sliceRenderRanges(s.dateProfile.renderUnzonedRange, c)), t))
                                },
                                hitOut: function () {
                                    r = null
                                },
                                hitDone: function () {
                                    a.unrenderEventResize(t), a.showEventsWithId(t.footprint.eventDef.id), o.enableCursor()
                                },
                                interactionEnd: function (e) {
                                    n && i.segResizeStop(t, e), r && a.reportEventResize(f, r, u, e), i.dragListener = null
                                }
                            })
                        }, e.prototype.segResizeStart = function (t, e) {
                            this.isResizing = !0, this.component.publiclyTrigger("eventResizeStart", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, {}, this.view]
                            })
                        }, e.prototype.segResizeStop = function (t, e) {
                            this.isResizing = !1, this.component.publiclyTrigger("eventResizeStop", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, {}, this.view]
                            })
                        }, e.prototype.computeEventStartResizeMutation = function (t, e, n) {
                            var r, i, o = n.componentFootprint.unzonedRange,
                                l = this.component.diffDates(e.unzonedRange.getStart(), t.unzonedRange.getStart());
                            return o.getStart().add(l) < o.getEnd() && ((r = new a.default).setStartDelta(l), (i = new s.default).setDateMutation(r), i)
                        }, e.prototype.computeEventEndResizeMutation = function (t, e, n) {
                            var r, i, o = n.componentFootprint.unzonedRange,
                                l = this.component.diffDates(e.unzonedRange.getEnd(), t.unzonedRange.getEnd());
                            return o.getEnd().add(l) > o.getStart() && ((r = new a.default).setEndDelta(l), (i = new s.default).setDateMutation(r), i)
                        }, e
                    }(n(15).default);
                    e.default = c
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = n(37), s = n(50), a = n(54), l = n(23), c = n(244), d = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e) || this;
                            return r.isDragging = !1, r.eventPointing = n, r
                        }

                        return r.__extends(e, t), e.prototype.end = function () {
                            this.dragListener && this.dragListener.endInteraction()
                        }, e.prototype.getSelectionDelay = function () {
                            var t = this.opt("eventLongPressDelay");
                            return null == t && (t = this.opt("longPressDelay")), t
                        }, e.prototype.bindToEl = function (t) {
                            var e = this.component;
                            e.bindSegHandlerToEl(t, "mousedown", this.handleMousedown.bind(this)), e.bindSegHandlerToEl(t, "touchstart", this.handleTouchStart.bind(this))
                        }, e.prototype.handleMousedown = function (t, e) {
                            !this.component.shouldIgnoreMouse() && this.component.canStartDrag(t, e) && this.buildDragListener(t).startInteraction(e, {distance: 5})
                        }, e.prototype.handleTouchStart = function (t, e) {
                            var n = this.component,
                                r = {delay: this.view.isEventDefSelected(t.footprint.eventDef) ? 0 : this.getSelectionDelay()};
                            n.canStartDrag(t, e) ? this.buildDragListener(t).startInteraction(e, r) : n.canStartSelection(t, e) && this.buildSelectListener(t).startInteraction(e, r)
                        }, e.prototype.buildSelectListener = function (t) {
                            var e = this, n = this.view, r = t.footprint.eventDef, i = t.footprint.eventInstance;
                            if (this.dragListener) return this.dragListener;
                            var o = this.dragListener = new a.default({
                                dragStart: function (t) {
                                    o.isTouch && !n.isEventDefSelected(r) && i && n.selectEventInstance(i)
                                }, interactionEnd: function (t) {
                                    e.dragListener = null
                                }
                            });
                            return o
                        }, e.prototype.buildDragListener = function (t) {
                            var e, n, r, o = this, s = this.component, a = this.view, d = a.calendar,
                                u = d.eventManager, h = t.el, f = t.footprint.eventDef, p = t.footprint.eventInstance;
                            if (this.dragListener) return this.dragListener;
                            var g = this.dragListener = new l.default(a, {
                                scroll: this.opt("dragScroll"),
                                subjectEl: h,
                                subjectCenter: !0,
                                interactionStart: function (r) {
                                    t.component = s, e = !1, (n = new c.default(t.el, {
                                        additionalClass: "fc-dragging",
                                        parentEl: a.el,
                                        opacity: g.isTouch ? null : o.opt("dragOpacity"),
                                        revertDuration: o.opt("dragRevertDuration"),
                                        zIndex: 2
                                    })).hide(), n.start(r)
                                },
                                dragStart: function (n) {
                                    g.isTouch && !a.isEventDefSelected(f) && p && a.selectEventInstance(p), e = !0, o.eventPointing.handleMouseout(t, n), o.segDragStart(t, n), a.hideEventsWithId(t.footprint.eventDef.id)
                                },
                                hitOver: function (e, l, c) {
                                    var h, p, v, y = !0;
                                    t.hit && (c = t.hit), h = c.component.getSafeHitFootprint(c), p = e.component.getSafeHitFootprint(e), h && p && (r = o.computeEventDropMutation(h, p, f)) ? (v = u.buildMutatedEventInstanceGroup(f.id, r), y = s.isEventInstanceGroupAllowed(v)) : y = !1, y || (r = null, i.disableCursor()), r && a.renderDrag(s.eventRangesToEventFootprints(v.sliceRenderRanges(s.dateProfile.renderUnzonedRange, d)), t, g.isTouch) ? n.hide() : n.show(), l && (r = null)
                                },
                                hitOut: function () {
                                    a.unrenderDrag(t), n.show(), r = null
                                },
                                hitDone: function () {
                                    i.enableCursor()
                                },
                                interactionEnd: function (i) {
                                    delete t.component, n.stop(!r, (function () {
                                        e && (a.unrenderDrag(t), o.segDragStop(t, i)), a.showEventsWithId(t.footprint.eventDef.id), r && a.reportEventDrop(p, r, h, i)
                                    })), o.dragListener = null
                                }
                            });
                            return g
                        }, e.prototype.segDragStart = function (t, e) {
                            this.isDragging = !0, this.component.publiclyTrigger("eventDragStart", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, {}, this.view]
                            })
                        }, e.prototype.segDragStop = function (t, e) {
                            this.isDragging = !1, this.component.publiclyTrigger("eventDragStop", {
                                context: t.el[0],
                                args: [t.footprint.getEventLegacy(), e, {}, this.view]
                            })
                        }, e.prototype.computeEventDropMutation = function (t, e, n) {
                            var r = new o.default;
                            return r.setDateMutation(this.computeEventDateMutation(t, e)), r
                        }, e.prototype.computeEventDateMutation = function (t, e) {
                            var n, r, i = t.unzonedRange.getStart(), o = e.unzonedRange.getStart(), a = !1, l = !1,
                                c = !1;
                            return t.isAllDay !== e.isAllDay && (a = !0, e.isAllDay ? (c = !0, i.stripTime()) : l = !0), n = this.component.diffDates(o, i), (r = new s.default).clearEnd = a, r.forceTimed = l, r.forceAllDay = c, r.setDateDelta(n), r
                        }, e
                    }(n(15).default);
                    e.default = d
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = n(23), s = n(12), a = n(5), l = function (t) {
                        function e(e) {
                            var n = t.call(this, e) || this;
                            return n.dragListener = n.buildDragListener(), n
                        }

                        return r.__extends(e, t), e.prototype.end = function () {
                            this.dragListener.endInteraction()
                        }, e.prototype.getDelay = function () {
                            var t = this.opt("selectLongPressDelay");
                            return null == t && (t = this.opt("longPressDelay")), t
                        }, e.prototype.bindToEl = function (t) {
                            var e = this, n = this.component, r = this.dragListener;
                            n.bindDateHandlerToEl(t, "mousedown", (function (t) {
                                e.opt("selectable") && !n.shouldIgnoreMouse() && r.startInteraction(t, {distance: e.opt("selectMinDistance")})
                            })), n.bindDateHandlerToEl(t, "touchstart", (function (t) {
                                e.opt("selectable") && !n.shouldIgnoreTouch() && r.startInteraction(t, {delay: e.getDelay()})
                            })), i.preventSelection(t)
                        }, e.prototype.buildDragListener = function () {
                            var t, e = this, n = this.component;
                            return new o.default(n, {
                                scroll: this.opt("dragScroll"), interactionStart: function () {
                                    t = null
                                }, dragStart: function (t) {
                                    e.view.unselect(t)
                                }, hitOver: function (r, o, s) {
                                    var a, l;
                                    s && (a = n.getSafeHitFootprint(s), l = n.getSafeHitFootprint(r), (t = a && l ? e.computeSelection(a, l) : null) ? n.renderSelectionFootprint(t) : !1 === t && i.disableCursor())
                                }, hitOut: function () {
                                    t = null, n.unrenderSelection()
                                }, hitDone: function () {
                                    i.enableCursor()
                                }, interactionEnd: function (n, r) {
                                    !r && t && e.view.reportSelection(t, n)
                                }
                            })
                        }, e.prototype.computeSelection = function (t, e) {
                            var n = this.computeSelectionFootprint(t, e);
                            return !(n && !this.isSelectionFootprintAllowed(n)) && n
                        }, e.prototype.computeSelectionFootprint = function (t, e) {
                            var n = [t.unzonedRange.startMs, t.unzonedRange.endMs, e.unzonedRange.startMs, e.unzonedRange.endMs];
                            return n.sort(i.compareNumbers), new s.default(new a.default(n[0], n[3]), t.isAllDay)
                        }, e.prototype.isSelectionFootprintAllowed = function (t) {
                            return this.component.dateProfile.validUnzonedRange.containsRange(t.unzonedRange) && this.view.calendar.constraints.isSelectionFootprintAllowed(t)
                        }, e
                    }(n(15).default);
                    e.default = l
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r, i, o = n(2), s = n(0), a = n(3), l = n(4), c = n(39), d = n(41), u = n(227), h = n(61),
                        f = function (t) {
                            function e(e, n) {
                                var r = t.call(this, e, n) || this;
                                return r.usesMinMaxTime = !0, r.timeGrid = r.instantiateTimeGrid(), r.addChild(r.timeGrid), r.opt("allDaySlot") && (r.dayGrid = r.instantiateDayGrid(), r.addChild(r.dayGrid)), r.scroller = new c.default({
                                    overflowX: "hidden",
                                    overflowY: "auto"
                                }), r
                            }

                            return o.__extends(e, t), e.prototype.instantiateTimeGrid = function () {
                                var t = new this.timeGridClass(this);
                                return l.copyOwnProps(r, t), t
                            }, e.prototype.instantiateDayGrid = function () {
                                var t = new this.dayGridClass(this);
                                return l.copyOwnProps(i, t), t
                            }, e.prototype.renderSkeleton = function () {
                                var t, e;
                                this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()), this.scroller.render(), t = this.scroller.el.addClass("fc-time-grid-container"), e = a('<div class="fc-time-grid" />').appendTo(t), this.el.find(".fc-body > tr > td").append(t), this.timeGrid.headContainerEl = this.el.find(".fc-head-container"), this.timeGrid.setElement(e), this.dayGrid && (this.dayGrid.setElement(this.el.find(".fc-day-grid")), this.dayGrid.bottomCoordPadding = this.dayGrid.el.next("hr").outerHeight())
                            }, e.prototype.unrenderSkeleton = function () {
                                this.timeGrid.removeElement(), this.dayGrid && this.dayGrid.removeElement(), this.scroller.destroy()
                            }, e.prototype.renderSkeletonHtml = function () {
                                var t = this.calendar.theme;
                                return '<table class="' + t.getClass("tableGrid") + '">' + (this.opt("columnHeader") ? '<thead class="fc-head"><tr><td class="fc-head-container ' + t.getClass("widgetHeader") + '">&nbsp;</td></tr></thead>' : "") + '<tbody class="fc-body"><tr><td class="' + t.getClass("widgetContent") + '">' + (this.dayGrid ? '<div class="fc-day-grid"/><hr class="fc-divider ' + t.getClass("widgetHeader") + '"/>' : "") + "</td></tr></tbody></table>"
                            }, e.prototype.axisStyleAttr = function () {
                                return null != this.axisWidth ? 'style="width:' + this.axisWidth + 'px"' : ""
                            }, e.prototype.getNowIndicatorUnit = function () {
                                return this.timeGrid.getNowIndicatorUnit()
                            }, e.prototype.updateSize = function (e, n, r) {
                                var i, o, s;
                                if (t.prototype.updateSize.call(this, e, n, r), this.axisWidth = l.matchCellWidths(this.el.find(".fc-axis")), this.timeGrid.colEls) {
                                    var a = this.el.find(".fc-row:not(.fc-scroller *)");
                                    this.timeGrid.bottomRuleEl.hide(), this.scroller.clear(), l.uncompensateScroll(a), this.dayGrid && (this.dayGrid.removeSegPopover(), (i = this.opt("eventLimit")) && "number" != typeof i && (i = 5), i && this.dayGrid.limitRows(i)), n || (o = this.computeScrollerHeight(e), this.scroller.setHeight(o), ((s = this.scroller.getScrollbarWidths()).left || s.right) && (l.compensateScroll(a, s), o = this.computeScrollerHeight(e), this.scroller.setHeight(o)), this.scroller.lockOverflow(s), this.timeGrid.getTotalSlatHeight() < o && this.timeGrid.bottomRuleEl.show())
                                } else n || (o = this.computeScrollerHeight(e), this.scroller.setHeight(o))
                            }, e.prototype.computeScrollerHeight = function (t) {
                                return t - l.subtractInnerElHeight(this.el, this.scroller.el)
                            }, e.prototype.computeInitialDateScroll = function () {
                                var t = s.duration(this.opt("scrollTime")), e = this.timeGrid.computeTimeTop(t);
                                return (e = Math.ceil(e)) && e++, {top: e}
                            }, e.prototype.queryDateScroll = function () {
                                return {top: this.scroller.getScrollTop()}
                            }, e.prototype.applyDateScroll = function (t) {
                                void 0 !== t.top && this.scroller.setScrollTop(t.top)
                            }, e.prototype.getHitFootprint = function (t) {
                                return t.component.getHitFootprint(t)
                            }, e.prototype.getHitEl = function (t) {
                                return t.component.getHitEl(t)
                            }, e.prototype.executeEventRender = function (t) {
                                var e, n, r = {}, i = {};
                                for (e in t) (n = t[e]).getEventDef().isAllDay() ? r[e] = n : i[e] = n;
                                this.timeGrid.executeEventRender(i), this.dayGrid && this.dayGrid.executeEventRender(r)
                            }, e.prototype.renderDrag = function (t, e, n) {
                                var r = p(t), i = !1;
                                return i = this.timeGrid.renderDrag(r.timed, e, n), this.dayGrid && (i = this.dayGrid.renderDrag(r.allDay, e, n) || i), i
                            }, e.prototype.renderEventResize = function (t, e, n) {
                                var r = p(t);
                                this.timeGrid.renderEventResize(r.timed, e, n), this.dayGrid && this.dayGrid.renderEventResize(r.allDay, e, n)
                            }, e.prototype.renderSelectionFootprint = function (t) {
                                t.isAllDay ? this.dayGrid && this.dayGrid.renderSelectionFootprint(t) : this.timeGrid.renderSelectionFootprint(t)
                            }, e
                        }(d.default);

                    function p(t) {
                        var e, n = [], r = [];
                        for (e = 0; e < t.length; e++) t[e].componentFootprint.isAllDay ? n.push(t[e]) : r.push(t[e]);
                        return {allDay: n, timed: r}
                    }

                    e.default = f, f.prototype.timeGridClass = u.default, f.prototype.dayGridClass = h.default, r = {
                        renderHeadIntroHtml: function () {
                            var t, e = this.view, n = e.calendar,
                                r = n.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, !0);
                            return this.opt("weekNumbers") ? (t = r.format(this.opt("smallWeekFormat")), '<th class="fc-axis fc-week-number ' + n.theme.getClass("widgetHeader") + '" ' + e.axisStyleAttr() + ">" + e.buildGotoAnchorHtml({
                                date: r,
                                type: "week",
                                forceOff: this.colCnt > 1
                            }, l.htmlEscape(t)) + "</th>") : '<th class="fc-axis ' + n.theme.getClass("widgetHeader") + '" ' + e.axisStyleAttr() + "></th>"
                        }, renderBgIntroHtml: function () {
                            var t = this.view;
                            return '<td class="fc-axis ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.axisStyleAttr() + "></td>"
                        }, renderIntroHtml: function () {
                            return '<td class="fc-axis" ' + this.view.axisStyleAttr() + "></td>"
                        }
                    }, i = {
                        renderBgIntroHtml: function () {
                            var t = this.view;
                            return '<td class="fc-axis ' + t.calendar.theme.getClass("widgetContent") + '" ' + t.axisStyleAttr() + "><span>" + t.getAllDayHtml() + "</span></td>"
                        }, renderIntroHtml: function () {
                            return '<td class="fc-axis" ' + this.view.axisStyleAttr() + "></td>"
                        }
                    }
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(0), s = n(4), a = n(40), l = n(56), c = n(60), d = n(55), u = n(53),
                        h = n(5), f = n(12), p = n(246), g = n(247), v = n(248),
                        y = [{hours: 1}, {minutes: 30}, {minutes: 15}, {seconds: 30}, {seconds: 15}], m = function (t) {
                            function e(e) {
                                var n = t.call(this, e) || this;
                                return n.processOptions(), n
                            }

                            return r.__extends(e, t), e.prototype.componentFootprintToSegs = function (t) {
                                var e, n = this.sliceRangeByTimes(t.unzonedRange);
                                for (e = 0; e < n.length; e++) this.isRTL ? n[e].col = this.daysPerRow - 1 - n[e].dayIndex : n[e].col = n[e].dayIndex;
                                return n
                            }, e.prototype.sliceRangeByTimes = function (t) {
                                var e, n, r = [];
                                for (n = 0; n < this.daysPerRow; n++) (e = t.intersect(this.dayRanges[n])) && r.push({
                                    startMs: e.startMs,
                                    endMs: e.endMs,
                                    isStart: e.isStart,
                                    isEnd: e.isEnd,
                                    dayIndex: n
                                });
                                return r
                            }, e.prototype.processOptions = function () {
                                var t, e = this.opt("slotDuration"), n = this.opt("snapDuration");
                                e = o.duration(e), n = n ? o.duration(n) : e, this.slotDuration = e, this.snapDuration = n, this.snapsPerSlot = e / n, t = this.opt("slotLabelFormat"), i.isArray(t) && (t = t[t.length - 1]), this.labelFormat = t || this.opt("smallTimeFormat"), t = this.opt("slotLabelInterval"), this.labelInterval = t ? o.duration(t) : this.computeLabelInterval(e)
                            }, e.prototype.computeLabelInterval = function (t) {
                                var e, n, r;
                                for (e = y.length - 1; e >= 0; e--) if (n = o.duration(y[e]), r = s.divideDurationByDuration(n, t), s.isInt(r) && r > 1) return n;
                                return o.duration(t)
                            }, e.prototype.renderDates = function (t) {
                                this.dateProfile = t, this.updateDayTable(), this.renderSlats(), this.renderColumns()
                            }, e.prototype.unrenderDates = function () {
                                this.unrenderColumns()
                            }, e.prototype.renderSkeleton = function () {
                                var t = this.view.calendar.theme;
                                this.el.html('<div class="fc-bg"></div><div class="fc-slats"></div><hr class="fc-divider ' + t.getClass("widgetHeader") + '" style="display:none" />'), this.bottomRuleEl = this.el.find("hr")
                            }, e.prototype.renderSlats = function () {
                                var t = this.view.calendar.theme;
                                this.slatContainerEl = this.el.find("> .fc-slats").html('<table class="' + t.getClass("tableGrid") + '">' + this.renderSlatRowHtml() + "</table>"), this.slatEls = this.slatContainerEl.find("tr"), this.slatCoordCache = new u.default({
                                    els: this.slatEls,
                                    isVertical: !0
                                })
                            }, e.prototype.renderSlatRowHtml = function () {
                                for (var t, e, n, r = this.view, i = r.calendar, a = i.theme, l = this.isRTL, c = this.dateProfile, d = "", u = o.duration(+c.minTime), h = o.duration(0); u < c.maxTime;) t = i.msToUtcMoment(c.renderUnzonedRange.startMs).time(u), e = s.isInt(s.divideDurationByDuration(h, this.labelInterval)), n = '<td class="fc-axis fc-time ' + a.getClass("widgetContent") + '" ' + r.axisStyleAttr() + ">" + (e ? "<span>" + s.htmlEscape(t.format(this.labelFormat)) + "</span>" : "") + "</td>", d += '<tr data-time="' + t.format("HH:mm:ss") + '"' + (e ? "" : ' class="fc-minor"') + ">" + (l ? "" : n) + '<td class="' + a.getClass("widgetContent") + '"/>' + (l ? n : "") + "</tr>", u.add(this.slotDuration), h.add(this.slotDuration);
                                return d
                            }, e.prototype.renderColumns = function () {
                                var t = this.dateProfile, e = this.view.calendar.theme;
                                this.dayRanges = this.dayDates.map((function (e) {
                                    return new h.default(e.clone().add(t.minTime), e.clone().add(t.maxTime))
                                })), this.headContainerEl && this.headContainerEl.html(this.renderHeadHtml()), this.el.find("> .fc-bg").html('<table class="' + e.getClass("tableGrid") + '">' + this.renderBgTrHtml(0) + "</table>"), this.colEls = this.el.find(".fc-day, .fc-disabled-day"), this.colCoordCache = new u.default({
                                    els: this.colEls,
                                    isHorizontal: !0
                                }), this.renderContentSkeleton()
                            }, e.prototype.unrenderColumns = function () {
                                this.unrenderContentSkeleton()
                            }, e.prototype.renderContentSkeleton = function () {
                                var t, e, n = "";
                                for (t = 0; t < this.colCnt; t++) n += '<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';
                                e = this.contentSkeletonEl = i('<div class="fc-content-skeleton"><table><tr>' + n + "</tr></table></div>"), this.colContainerEls = e.find(".fc-content-col"), this.helperContainerEls = e.find(".fc-helper-container"), this.fgContainerEls = e.find(".fc-event-container:not(.fc-helper-container)"), this.bgContainerEls = e.find(".fc-bgevent-container"), this.highlightContainerEls = e.find(".fc-highlight-container"), this.businessContainerEls = e.find(".fc-business-container"), this.bookendCells(e.find("tr")), this.el.append(e)
                            }, e.prototype.unrenderContentSkeleton = function () {
                                this.contentSkeletonEl && (this.contentSkeletonEl.remove(), this.contentSkeletonEl = null, this.colContainerEls = null, this.helperContainerEls = null, this.fgContainerEls = null, this.bgContainerEls = null, this.highlightContainerEls = null, this.businessContainerEls = null)
                            }, e.prototype.groupSegsByCol = function (t) {
                                var e, n = [];
                                for (e = 0; e < this.colCnt; e++) n.push([]);
                                for (e = 0; e < t.length; e++) n[t[e].col].push(t[e]);
                                return n
                            }, e.prototype.attachSegsByCol = function (t, e) {
                                var n, r, i;
                                for (n = 0; n < this.colCnt; n++) for (r = t[n], i = 0; i < r.length; i++) e.eq(n).append(r[i].el)
                            }, e.prototype.getNowIndicatorUnit = function () {
                                return "minute"
                            }, e.prototype.renderNowIndicator = function (t) {
                                if (this.colContainerEls) {
                                    var e,
                                        n = this.componentFootprintToSegs(new f.default(new h.default(t, t.valueOf() + 1), !1)),
                                        r = this.computeDateTop(t, t), o = [];
                                    for (e = 0; e < n.length; e++) o.push(i('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top", r).appendTo(this.colContainerEls.eq(n[e].col))[0]);
                                    n.length > 0 && o.push(i('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top", r).appendTo(this.el.find(".fc-content-skeleton"))[0]), this.nowIndicatorEls = i(o)
                                }
                            }, e.prototype.unrenderNowIndicator = function () {
                                this.nowIndicatorEls && (this.nowIndicatorEls.remove(), this.nowIndicatorEls = null)
                            }, e.prototype.updateSize = function (e, n, r) {
                                t.prototype.updateSize.call(this, e, n, r), this.slatCoordCache.build(), r && this.updateSegVerticals([].concat(this.eventRenderer.getSegs(), this.businessSegs || []))
                            }, e.prototype.getTotalSlatHeight = function () {
                                return this.slatContainerEl.outerHeight()
                            }, e.prototype.computeDateTop = function (t, e) {
                                return this.computeTimeTop(o.duration(t - e.clone().stripTime()))
                            }, e.prototype.computeTimeTop = function (t) {
                                var e, n, r = this.slatEls.length, i = (t - this.dateProfile.minTime) / this.slotDuration;
                                return i = Math.max(0, i), i = Math.min(r, i), e = Math.floor(i), n = i - (e = Math.min(e, r - 1)), this.slatCoordCache.getTopPosition(e) + this.slatCoordCache.getHeight(e) * n
                            }, e.prototype.updateSegVerticals = function (t) {
                                this.computeSegVerticals(t), this.assignSegVerticals(t)
                            }, e.prototype.computeSegVerticals = function (t) {
                                var e, n, r, i = this.opt("agendaEventMinHeight");
                                for (e = 0; e < t.length; e++) n = t[e], r = this.dayDates[n.dayIndex], n.top = this.computeDateTop(n.startMs, r), n.bottom = Math.max(n.top + i, this.computeDateTop(n.endMs, r))
                            }, e.prototype.assignSegVerticals = function (t) {
                                var e, n;
                                for (e = 0; e < t.length; e++) (n = t[e]).el.css(this.generateSegVerticalCss(n))
                            }, e.prototype.generateSegVerticalCss = function (t) {
                                return {top: t.top, bottom: -t.bottom}
                            }, e.prototype.prepareHits = function () {
                                this.colCoordCache.build(), this.slatCoordCache.build()
                            }, e.prototype.releaseHits = function () {
                                this.colCoordCache.clear()
                            }, e.prototype.queryHit = function (t, e) {
                                var n = this.snapsPerSlot, r = this.colCoordCache, i = this.slatCoordCache;
                                if (r.isLeftInBounds(t) && i.isTopInBounds(e)) {
                                    var o = r.getHorizontalIndex(t), s = i.getVerticalIndex(e);
                                    if (null != o && null != s) {
                                        var a = i.getTopOffset(s), l = i.getHeight(s), c = (e - a) / l,
                                            d = Math.floor(c * n), u = a + d / n * l, h = a + (d + 1) / n * l;
                                        return {
                                            col: o,
                                            snap: s * n + d,
                                            component: this,
                                            left: r.getLeftOffset(o),
                                            right: r.getRightOffset(o),
                                            top: u,
                                            bottom: h
                                        }
                                    }
                                }
                            }, e.prototype.getHitFootprint = function (t) {
                                var e, n = this.getCellDate(0, t.col), r = this.computeSnapTime(t.snap);
                                return n.time(r), e = n.clone().add(this.snapDuration), new f.default(new h.default(n, e), !1)
                            }, e.prototype.computeSnapTime = function (t) {
                                return o.duration(this.dateProfile.minTime + this.snapDuration * t)
                            }, e.prototype.getHitEl = function (t) {
                                return this.colEls.eq(t.col)
                            }, e.prototype.renderDrag = function (t, e, n) {
                                var r;
                                if (e) {
                                    if (t.length) return this.helperRenderer.renderEventDraggingFootprints(t, e, n), !0
                                } else for (r = 0; r < t.length; r++) this.renderHighlight(t[r].componentFootprint)
                            }, e.prototype.unrenderDrag = function () {
                                this.unrenderHighlight(), this.helperRenderer.unrender()
                            }, e.prototype.renderEventResize = function (t, e, n) {
                                this.helperRenderer.renderEventResizingFootprints(t, e, n)
                            }, e.prototype.unrenderEventResize = function () {
                                this.helperRenderer.unrender()
                            }, e.prototype.renderSelectionFootprint = function (t) {
                                this.opt("selectHelper") ? this.helperRenderer.renderComponentFootprint(t) : this.renderHighlight(t)
                            }, e.prototype.unrenderSelection = function () {
                                this.helperRenderer.unrender(), this.unrenderHighlight()
                            }, e
                        }(a.default);
                    e.default = m, m.prototype.eventRendererClass = p.default, m.prototype.businessHourRendererClass = l.default, m.prototype.helperRendererClass = g.default, m.prototype.fillRendererClass = v.default, c.default.mixInto(m), d.default.mixInto(m)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(5), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.buildRenderRange = function (e, n, r) {
                            var o = t.prototype.buildRenderRange.call(this, e, n, r),
                                s = this.msToUtcMoment(o.startMs, r), a = this.msToUtcMoment(o.endMs, r);
                            return /^(year|month)$/.test(n) && (s.startOf("week"), a.weekday() && a.add(1, "week").startOf("week")), new i.default(s, a)
                        }, e
                    }(n(221).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(0), o = n(4), s = n(62), a = n(253), l = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.setGridHeight = function (t, e) {
                            e && (t *= this.dayGrid.rowCnt / 6), o.distributeHeight(this.dayGrid.rowEls, t, !e)
                        }, e.prototype.isDateInOtherMonth = function (t, e) {
                            return t.month() !== i.utc(e.currentUnzonedRange.startMs).month()
                        }, e
                    }(s.default);
                    e.default = l, l.prototype.dateProfileGeneratorClass = a.default
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(5), a = n(41), l = n(39), c = n(254), d = n(255),
                        u = function (t) {
                            function e(e, n) {
                                var r = t.call(this, e, n) || this;
                                return r.segSelector = ".fc-list-item", r.scroller = new l.default({
                                    overflowX: "hidden",
                                    overflowY: "auto"
                                }), r
                            }

                            return r.__extends(e, t), e.prototype.renderSkeleton = function () {
                                this.el.addClass("fc-list-view " + this.calendar.theme.getClass("listView")), this.scroller.render(), this.scroller.el.appendTo(this.el), this.contentEl = this.scroller.scrollEl
                            }, e.prototype.unrenderSkeleton = function () {
                                this.scroller.destroy()
                            }, e.prototype.updateSize = function (e, n, r) {
                                t.prototype.updateSize.call(this, e, n, r), this.scroller.clear(), n || this.scroller.setHeight(this.computeScrollerHeight(e))
                            }, e.prototype.computeScrollerHeight = function (t) {
                                return t - o.subtractInnerElHeight(this.el, this.scroller.el)
                            }, e.prototype.renderDates = function (t) {
                                for (var e = this.calendar, n = e.msToUtcMoment(t.renderUnzonedRange.startMs, !0), r = e.msToUtcMoment(t.renderUnzonedRange.endMs, !0), i = [], o = []; n < r;) i.push(n.clone()), o.push(new s.default(n, n.clone().add(1, "day"))), n.add(1, "day");
                                this.dayDates = i, this.dayRanges = o
                            }, e.prototype.componentFootprintToSegs = function (t) {
                                var e, n, r, i = this.dayRanges, o = [];
                                for (e = 0; e < i.length; e++) if ((n = t.unzonedRange.intersect(i[e])) && (r = {
                                    startMs: n.startMs,
                                    endMs: n.endMs,
                                    isStart: n.isStart,
                                    isEnd: n.isEnd,
                                    dayIndex: e
                                }, o.push(r), !r.isEnd && !t.isAllDay && e + 1 < i.length && t.unzonedRange.endMs < i[e + 1].startMs + this.nextDayThreshold)) {
                                    r.endMs = t.unzonedRange.endMs, r.isEnd = !0;
                                    break
                                }
                                return o
                            }, e.prototype.renderEmptyMessage = function () {
                                this.contentEl.html('<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">' + o.htmlEscape(this.opt("noEventsMessage")) + "</div></div></div>")
                            }, e.prototype.renderSegList = function (t) {
                                var e, n, r, o = this.groupSegsByDay(t),
                                    s = i('<table class="fc-list-table ' + this.calendar.theme.getClass("tableList") + '"><tbody/></table>'),
                                    a = s.find("tbody");
                                for (e = 0; e < o.length; e++) if (n = o[e]) for (a.append(this.dayHeaderHtml(this.dayDates[e])), this.eventRenderer.sortEventSegs(n), r = 0; r < n.length; r++) a.append(n[r].el);
                                this.contentEl.empty().append(s)
                            }, e.prototype.groupSegsByDay = function (t) {
                                var e, n, r = [];
                                for (e = 0; e < t.length; e++) (r[(n = t[e]).dayIndex] || (r[n.dayIndex] = [])).push(n);
                                return r
                            }, e.prototype.dayHeaderHtml = function (t) {
                                var e = this.opt("listDayFormat"), n = this.opt("listDayAltFormat");
                                return '<tr class="fc-list-heading" data-date="' + t.format("YYYY-MM-DD") + '"><td class="' + (this.calendar.theme.getClass("tableListHeading") || this.calendar.theme.getClass("widgetHeader")) + '" colspan="3">' + (e ? this.buildGotoAnchorHtml(t, {class: "fc-list-heading-main"}, o.htmlEscape(t.format(e))) : "") + (n ? this.buildGotoAnchorHtml(t, {class: "fc-list-heading-alt"}, o.htmlEscape(t.format(n))) : "") + "</td></tr>"
                            }, e
                        }(a.default);
                    e.default = u, u.prototype.eventRendererClass = c.default, u.prototype.eventPointingClass = d.default
                }, , , , , , function (t, e, n) {
                    var r = n(3), i = n(16), o = n(4), s = n(220);
                    n(10), n(47), n(256), n(257), n(260), n(261), n(262), n(263), r.fullCalendar = i, r.fn.fullCalendar = function (t) {
                        var e = Array.prototype.slice.call(arguments, 1), n = this;
                        return this.each((function (i, a) {
                            var l, c = r(a), d = c.data("fullCalendar");
                            "string" == typeof t ? "getCalendar" === t ? i || (n = d) : "destroy" === t ? d && (d.destroy(), c.removeData("fullCalendar")) : d ? r.isFunction(d[t]) ? (l = d[t].apply(d, e), i || (n = l), "destroy" === t && c.removeData("fullCalendar")) : o.warn("'" + t + "' is an unknown FullCalendar method.") : o.warn("Attempting to call a FullCalendar method on an element with no calendar.") : d || (d = new s.default(c, t), c.data("fullCalendar", d), d.render())
                        })), n
                    }, t.exports = i
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.setElement = function (t) {
                            this.el = t, this.bindGlobalHandlers(), this.renderSkeleton(), this.set("isInDom", !0)
                        }, e.prototype.removeElement = function () {
                            this.unset("isInDom"), this.unrenderSkeleton(), this.unbindGlobalHandlers(), this.el.remove()
                        }, e.prototype.bindGlobalHandlers = function () {
                        }, e.prototype.unbindGlobalHandlers = function () {
                        }, e.prototype.renderSkeleton = function () {
                        }, e.prototype.unrenderSkeleton = function () {
                        }, e
                    }(n(48).default);
                    e.default = i
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var n = function () {
                        function t(t) {
                            this.items = t || []
                        }

                        return t.prototype.proxyCall = function (t) {
                            for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
                            var r = [];
                            return this.items.forEach((function (n) {
                                r.push(n[t].apply(n, e))
                            })), r
                        }, t
                    }();
                    e.default = n
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = function () {
                        function t(t, e) {
                            this.el = null, this.viewsWithButtons = [], this.calendar = t, this.toolbarOptions = e
                        }

                        return t.prototype.setToolbarOptions = function (t) {
                            this.toolbarOptions = t
                        }, t.prototype.render = function () {
                            var t = this.toolbarOptions.layout, e = this.el;
                            t ? (e ? e.empty() : e = this.el = r("<div class='fc-toolbar " + this.toolbarOptions.extraClasses + "'/>"), e.append(this.renderSection("left")).append(this.renderSection("right")).append(this.renderSection("center")).append('<div class="fc-clear"/>')) : this.removeElement()
                        }, t.prototype.removeElement = function () {
                            this.el && (this.el.remove(), this.el = null)
                        }, t.prototype.renderSection = function (t) {
                            var e = this, n = this.calendar, o = n.theme, s = n.optionsManager, a = n.viewSpecManager,
                                l = r('<div class="fc-' + t + '"/>'), c = this.toolbarOptions.layout[t],
                                d = s.get("customButtons") || {}, u = s.overrides.buttonText || {},
                                h = s.get("buttonText") || {};
                            return c && r.each(c.split(" "), (function (t, s) {
                                var c, f = r(), p = !0;
                                r.each(s.split(","), (function (t, s) {
                                    var l, c, g, v, y, m, b, w, D;
                                    "title" === s ? (f = f.add(r("<h2>&nbsp;</h2>")), p = !1) : ((l = d[s]) ? (g = function (t) {
                                        l.click && l.click.call(w[0], t)
                                    }, (v = o.getCustomButtonIconClass(l)) || (v = o.getIconClass(s)) || (y = l.text)) : (c = a.getViewSpec(s)) ? (e.viewsWithButtons.push(s), g = function () {
                                        n.changeView(s)
                                    }, (y = c.buttonTextOverride) || (v = o.getIconClass(s)) || (y = c.buttonTextDefault)) : n[s] && (g = function () {
                                        n[s]()
                                    }, (y = u[s]) || (v = o.getIconClass(s)) || (y = h[s])), g && (b = ["fc-" + s + "-button", o.getClass("button"), o.getClass("stateDefault")], y ? (m = i.htmlEscape(y), D = "") : v && (m = "<span class='" + v + "'></span>", D = ' aria-label="' + s + '"'), w = r('<button type="button" class="' + b.join(" ") + '"' + D + ">" + m + "</button>").click((function (t) {
                                        w.hasClass(o.getClass("stateDisabled")) || (g(t), (w.hasClass(o.getClass("stateActive")) || w.hasClass(o.getClass("stateDisabled"))) && w.removeClass(o.getClass("stateHover")))
                                    })).mousedown((function () {
                                        w.not("." + o.getClass("stateActive")).not("." + o.getClass("stateDisabled")).addClass(o.getClass("stateDown"))
                                    })).mouseup((function () {
                                        w.removeClass(o.getClass("stateDown"))
                                    })).hover((function () {
                                        w.not("." + o.getClass("stateActive")).not("." + o.getClass("stateDisabled")).addClass(o.getClass("stateHover"))
                                    }), (function () {
                                        w.removeClass(o.getClass("stateHover")).removeClass(o.getClass("stateDown"))
                                    })), f = f.add(w)))
                                })), p && f.first().addClass(o.getClass("cornerLeft")).end().last().addClass(o.getClass("cornerRight")).end(), f.length > 1 ? (c = r("<div/>"), p && c.addClass(o.getClass("buttonGroup")), c.append(f), l.append(c)) : l.append(f)
                            })), l
                        }, t.prototype.updateTitle = function (t) {
                            this.el && this.el.find("h2").text(t)
                        }, t.prototype.activateButton = function (t) {
                            this.el && this.el.find(".fc-" + t + "-button").addClass(this.calendar.theme.getClass("stateActive"))
                        }, t.prototype.deactivateButton = function (t) {
                            this.el && this.el.find(".fc-" + t + "-button").removeClass(this.calendar.theme.getClass("stateActive"))
                        }, t.prototype.disableButton = function (t) {
                            this.el && this.el.find(".fc-" + t + "-button").prop("disabled", !0).addClass(this.calendar.theme.getClass("stateDisabled"))
                        }, t.prototype.enableButton = function (t) {
                            this.el && this.el.find(".fc-" + t + "-button").prop("disabled", !1).removeClass(this.calendar.theme.getClass("stateDisabled"))
                        }, t.prototype.getViewsWithButtons = function () {
                            return this.viewsWithButtons
                        }, t
                    }();
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = n(32), a = n(31), l = function (t) {
                        function e(e, n) {
                            var r = t.call(this) || this;
                            return r._calendar = e, r.overrides = i.extend({}, n), r.dynamicOverrides = {}, r.compute(), r
                        }

                        return r.__extends(e, t), e.prototype.add = function (t) {
                            var e, n = 0;
                            for (e in this.recordOverrides(t), t) n++;
                            if (1 === n) {
                                if ("height" === e || "contentHeight" === e || "aspectRatio" === e) return void this._calendar.updateViewSize(!0);
                                if ("defaultDate" === e) return;
                                if ("businessHours" === e) return;
                                if (/^(event|select)(Overlap|Constraint|Allow)$/.test(e)) return;
                                if ("timezone" === e) return void this._calendar.view.flash("initialEvents")
                            }
                            this._calendar.renderHeader(), this._calendar.renderFooter(), this._calendar.viewsByType = {}, this._calendar.reinitView()
                        }, e.prototype.compute = function () {
                            var t, e, n, r;
                            t = o.firstDefined(this.dynamicOverrides.locale, this.overrides.locale), (e = a.localeOptionHash[t]) || (t = s.globalDefaults.locale, e = a.localeOptionHash[t] || {}), n = o.firstDefined(this.dynamicOverrides.isRTL, this.overrides.isRTL, e.isRTL, s.globalDefaults.isRTL) ? s.rtlDefaults : {}, this.dirDefaults = n, this.localeDefaults = e, r = s.mergeOptions([s.globalDefaults, n, e, this.overrides, this.dynamicOverrides]), a.populateInstanceComputableOptions(r), this.reset(r)
                        }, e.prototype.recordOverrides = function (t) {
                            var e;
                            for (e in t) this.dynamicOverrides[e] = t[e];
                            this._calendar.viewSpecManager.clearCache(), this.compute()
                        }, e
                    }(n(48).default);
                    e.default = l
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(0), i = n(3), o = n(22), s = n(4), a = n(32), l = n(31), c = function () {
                        function t(t, e) {
                            this.optionsManager = t, this._calendar = e, this.clearCache()
                        }

                        return t.prototype.clearCache = function () {
                            this.viewSpecCache = {}
                        }, t.prototype.getViewSpec = function (t) {
                            var e = this.viewSpecCache;
                            return e[t] || (e[t] = this.buildViewSpec(t))
                        }, t.prototype.getUnitViewSpec = function (t) {
                            var e, n, r;
                            if (-1 !== i.inArray(t, s.unitsDesc)) for (e = this._calendar.header.getViewsWithButtons(), i.each(o.viewHash, (function (t) {
                                e.push(t)
                            })), n = 0; n < e.length; n++) if ((r = this.getViewSpec(e[n])) && r.singleUnit === t) return r
                        }, t.prototype.buildViewSpec = function (t) {
                            for (var e, n, i, l, c, d = this.optionsManager.overrides.views || {}, u = [], h = [], f = [], p = t; p;) e = o.viewHash[p], n = d[p], p = null, "function" == typeof e && (e = {class: e}), e && (u.unshift(e), h.unshift(e.defaults || {}), i = i || e.duration, p = p || e.type), n && (f.unshift(n), i = i || n.duration, p = p || n.type);
                            return (e = s.mergeProps(u)).type = t, !!e.class && ((i = i || this.optionsManager.dynamicOverrides.duration || this.optionsManager.overrides.duration) && (l = r.duration(i)).valueOf() && (c = s.computeDurationGreatestUnit(l, i), e.duration = l, e.durationUnit = c, 1 === l.as(c) && (e.singleUnit = c, f.unshift(d[c] || {}))), e.defaults = a.mergeOptions(h), e.overrides = a.mergeOptions(f), this.buildViewSpecOptions(e), this.buildViewSpecButtonText(e, t), e)
                        }, t.prototype.buildViewSpecOptions = function (t) {
                            var e = this.optionsManager;
                            t.options = a.mergeOptions([a.globalDefaults, t.defaults, e.dirDefaults, e.localeDefaults, e.overrides, t.overrides, e.dynamicOverrides]), l.populateInstanceComputableOptions(t.options)
                        }, t.prototype.buildViewSpecButtonText = function (t, e) {
                            var n = this.optionsManager;

                            function r(n) {
                                var r = n.buttonText || {};
                                return r[e] || (t.buttonTextKey ? r[t.buttonTextKey] : null) || (t.singleUnit ? r[t.singleUnit] : null)
                            }

                            t.buttonTextOverride = r(n.dynamicOverrides) || r(n.overrides) || t.overrides.buttonText, t.buttonTextDefault = r(n.localeDefaults) || r(n.dirDefaults) || t.defaults.buttonText || r(a.globalDefaults) || (t.duration ? this._calendar.humanizeDuration(t.duration) : null) || e
                        }, t
                    }();
                    e.default = c
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = n(243), s = n(52), a = n(6), l = n(38), c = n(13), d = n(18), u = n(11),
                        h = n(7), f = function () {
                            function t(t) {
                                this.calendar = t, this.stickySource = new s.default(t), this.otherSources = []
                            }

                            return t.prototype.requestEvents = function (t, e, n, r) {
                                return !r && this.currentPeriod && this.currentPeriod.isWithinRange(t, e) && n === this.currentPeriod.timezone || this.setPeriod(new o.default(t, e, n)), this.currentPeriod.whenReleased()
                            }, t.prototype.addSource = function (t) {
                                this.otherSources.push(t), this.currentPeriod && this.currentPeriod.requestSource(t)
                            }, t.prototype.removeSource = function (t) {
                                i.removeExact(this.otherSources, t), this.currentPeriod && this.currentPeriod.purgeSource(t)
                            }, t.prototype.removeAllSources = function () {
                                this.otherSources = [], this.currentPeriod && this.currentPeriod.purgeAllSources()
                            }, t.prototype.refetchSource = function (t) {
                                var e = this.currentPeriod;
                                e && (e.freeze(), e.purgeSource(t), e.requestSource(t), e.thaw())
                            }, t.prototype.refetchAllSources = function () {
                                var t = this.currentPeriod;
                                t && (t.freeze(), t.purgeAllSources(), t.requestSources(this.getSources()), t.thaw())
                            }, t.prototype.getSources = function () {
                                return [this.stickySource].concat(this.otherSources)
                            }, t.prototype.multiQuerySources = function (t) {
                                t ? r.isArray(t) || (t = [t]) : t = [];
                                var e, n = [];
                                for (e = 0; e < t.length; e++) n.push.apply(n, this.querySources(t[e]));
                                return n
                            }, t.prototype.querySources = function (t) {
                                var e, n, i = this.otherSources;
                                for (e = 0; e < i.length; e++) if ((n = i[e]) === t) return [n];
                                return (n = this.getSourceById(a.default.normalizeId(t))) ? [n] : (t = l.default.parse(t, this.calendar)) ? r.grep(i, (function (e) {
                                    return n = e, t.getPrimitive() === n.getPrimitive();
                                    var n
                                })) : void 0
                            }, t.prototype.getSourceById = function (t) {
                                return r.grep(this.otherSources, (function (e) {
                                    return e.id && e.id === t
                                }))[0]
                            }, t.prototype.setPeriod = function (t) {
                                this.currentPeriod && (this.unbindPeriod(this.currentPeriod), this.currentPeriod = null), this.currentPeriod = t, this.bindPeriod(t), t.requestSources(this.getSources())
                            }, t.prototype.bindPeriod = function (t) {
                                this.listenTo(t, "release", (function (t) {
                                    this.trigger("release", t)
                                }))
                            }, t.prototype.unbindPeriod = function (t) {
                                this.stopListeningTo(t)
                            }, t.prototype.getEventDefByUid = function (t) {
                                if (this.currentPeriod) return this.currentPeriod.getEventDefByUid(t)
                            }, t.prototype.addEventDef = function (t, e) {
                                e && this.stickySource.addEventDef(t), this.currentPeriod && this.currentPeriod.addEventDef(t)
                            }, t.prototype.removeEventDefsById = function (t) {
                                this.getSources().forEach((function (e) {
                                    e.removeEventDefsById(t)
                                })), this.currentPeriod && this.currentPeriod.removeEventDefsById(t)
                            }, t.prototype.removeAllEventDefs = function () {
                                this.getSources().forEach((function (t) {
                                    t.removeAllEventDefs()
                                })), this.currentPeriod && this.currentPeriod.removeAllEventDefs()
                            }, t.prototype.mutateEventsWithId = function (t, e) {
                                var n, r = this.currentPeriod, i = [];
                                return r ? (r.freeze(), (n = r.getEventDefsById(t)).forEach((function (t) {
                                    r.removeEventDef(t), i.push(e.mutateSingle(t)), r.addEventDef(t)
                                })), r.thaw(), function () {
                                    r.freeze();
                                    for (var t = 0; t < n.length; t++) r.removeEventDef(n[t]), i[t](), r.addEventDef(n[t]);
                                    r.thaw()
                                }) : function () {
                                }
                            }, t.prototype.buildMutatedEventInstanceGroup = function (t, e) {
                                var n, r, i = this.getEventDefsById(t), o = [];
                                for (n = 0; n < i.length; n++) (r = i[n].clone()) instanceof c.default && (e.mutateSingle(r), o.push.apply(o, r.buildInstances()));
                                return new d.default(o)
                            }, t.prototype.freeze = function () {
                                this.currentPeriod && this.currentPeriod.freeze()
                            }, t.prototype.thaw = function () {
                                this.currentPeriod && this.currentPeriod.thaw()
                            }, t.prototype.getEventDefsById = function (t) {
                                return this.currentPeriod.getEventDefsById(t)
                            }, t.prototype.getEventInstances = function () {
                                return this.currentPeriod.getEventInstances()
                            }, t.prototype.getEventInstancesWithId = function (t) {
                                return this.currentPeriod.getEventInstancesWithId(t)
                            }, t.prototype.getEventInstancesWithoutId = function (t) {
                                return this.currentPeriod.getEventInstancesWithoutId(t)
                            }, t
                        }();
                    e.default = f, u.default.mixInto(f), h.default.mixInto(f)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = n(20), s = n(11), a = n(5), l = n(18), c = function () {
                        function t(t, e, n) {
                            this.pendingCnt = 0, this.freezeDepth = 0, this.stuntedReleaseCnt = 0, this.releaseCnt = 0, this.start = t, this.end = e, this.timezone = n, this.unzonedRange = new a.default(t.clone().stripZone(), e.clone().stripZone()), this.requestsByUid = {}, this.eventDefsByUid = {}, this.eventDefsById = {}, this.eventInstanceGroupsById = {}
                        }

                        return t.prototype.isWithinRange = function (t, e) {
                            return !t.isBefore(this.start) && !e.isAfter(this.end)
                        }, t.prototype.requestSources = function (t) {
                            this.freeze();
                            for (var e = 0; e < t.length; e++) this.requestSource(t[e]);
                            this.thaw()
                        }, t.prototype.requestSource = function (t) {
                            var e = this, n = {source: t, status: "pending", eventDefs: null};
                            this.requestsByUid[t.uid] = n, this.pendingCnt += 1, t.fetch(this.start, this.end, this.timezone).then((function (t) {
                                "cancelled" !== n.status && (n.status = "completed", n.eventDefs = t, e.addEventDefs(t), e.pendingCnt--, e.tryRelease())
                            }), (function () {
                                "cancelled" !== n.status && (n.status = "failed", e.pendingCnt--, e.tryRelease())
                            }))
                        }, t.prototype.purgeSource = function (t) {
                            var e = this.requestsByUid[t.uid];
                            e && (delete this.requestsByUid[t.uid], "pending" === e.status ? (e.status = "cancelled", this.pendingCnt--, this.tryRelease()) : "completed" === e.status && e.eventDefs.forEach(this.removeEventDef.bind(this)))
                        }, t.prototype.purgeAllSources = function () {
                            var t, e, n = this.requestsByUid, r = 0;
                            for (t in n) "pending" === (e = n[t]).status ? e.status = "cancelled" : "completed" === e.status && r++;
                            this.requestsByUid = {}, this.pendingCnt = 0, r && this.removeAllEventDefs()
                        }, t.prototype.getEventDefByUid = function (t) {
                            return this.eventDefsByUid[t]
                        }, t.prototype.getEventDefsById = function (t) {
                            var e = this.eventDefsById[t];
                            return e ? e.slice() : []
                        }, t.prototype.addEventDefs = function (t) {
                            for (var e = 0; e < t.length; e++) this.addEventDef(t[e])
                        }, t.prototype.addEventDef = function (t) {
                            var e, n = this.eventDefsById, r = t.id, i = n[r] || (n[r] = []),
                                o = t.buildInstances(this.unzonedRange);
                            for (i.push(t), this.eventDefsByUid[t.uid] = t, e = 0; e < o.length; e++) this.addEventInstance(o[e], r)
                        }, t.prototype.removeEventDefsById = function (t) {
                            var e = this;
                            this.getEventDefsById(t).forEach((function (t) {
                                e.removeEventDef(t)
                            }))
                        }, t.prototype.removeAllEventDefs = function () {
                            var t = r.isEmptyObject(this.eventDefsByUid);
                            this.eventDefsByUid = {}, this.eventDefsById = {}, this.eventInstanceGroupsById = {}, t || this.tryRelease()
                        }, t.prototype.removeEventDef = function (t) {
                            var e = this.eventDefsById, n = e[t.id];
                            delete this.eventDefsByUid[t.uid], n && (i.removeExact(n, t), n.length || delete e[t.id], this.removeEventInstancesForDef(t))
                        }, t.prototype.getEventInstances = function () {
                            var t, e = this.eventInstanceGroupsById, n = [];
                            for (t in e) n.push.apply(n, e[t].eventInstances);
                            return n
                        }, t.prototype.getEventInstancesWithId = function (t) {
                            var e = this.eventInstanceGroupsById[t];
                            return e ? e.eventInstances.slice() : []
                        }, t.prototype.getEventInstancesWithoutId = function (t) {
                            var e, n = this.eventInstanceGroupsById, r = [];
                            for (e in n) e !== t && r.push.apply(r, n[e].eventInstances);
                            return r
                        }, t.prototype.addEventInstance = function (t, e) {
                            var n = this.eventInstanceGroupsById;
                            (n[e] || (n[e] = new l.default)).eventInstances.push(t), this.tryRelease()
                        }, t.prototype.removeEventInstancesForDef = function (t) {
                            var e, n = this.eventInstanceGroupsById, r = n[t.id];
                            r && (e = i.removeMatching(r.eventInstances, (function (e) {
                                return e.def === t
                            })), r.eventInstances.length || delete n[t.id], e && this.tryRelease())
                        }, t.prototype.tryRelease = function () {
                            this.pendingCnt || (this.freezeDepth ? this.stuntedReleaseCnt++ : this.release())
                        }, t.prototype.release = function () {
                            this.releaseCnt++, this.trigger("release", this.eventInstanceGroupsById)
                        }, t.prototype.whenReleased = function () {
                            var t = this;
                            return this.releaseCnt ? o.default.resolve(this.eventInstanceGroupsById) : o.default.construct((function (e) {
                                t.one("release", e)
                            }))
                        }, t.prototype.freeze = function () {
                            this.freezeDepth++ || (this.stuntedReleaseCnt = 0)
                        }, t.prototype.thaw = function () {
                            --this.freezeDepth || !this.stuntedReleaseCnt || this.pendingCnt || this.release()
                        }, t
                    }();
                    e.default = c, s.default.mixInto(c)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = n(7), s = function () {
                        function t(t, e) {
                            this.isFollowing = !1, this.isHidden = !1, this.isAnimating = !1, this.options = e = e || {}, this.sourceEl = t, this.parentEl = e.parentEl ? r(e.parentEl) : t.parent()
                        }

                        return t.prototype.start = function (t) {
                            this.isFollowing || (this.isFollowing = !0, this.y0 = i.getEvY(t), this.x0 = i.getEvX(t), this.topDelta = 0, this.leftDelta = 0, this.isHidden || this.updatePosition(), i.getEvIsTouch(t) ? this.listenTo(r(document), "touchmove", this.handleMove) : this.listenTo(r(document), "mousemove", this.handleMove))
                        }, t.prototype.stop = function (t, e) {
                            var n = this, i = this.options.revertDuration, o = function () {
                                n.isAnimating = !1, n.removeElement(), n.top0 = n.left0 = null, e && e()
                            };
                            this.isFollowing && !this.isAnimating && (this.isFollowing = !1, this.stopListeningTo(r(document)), t && i && !this.isHidden ? (this.isAnimating = !0, this.el.animate({
                                top: this.top0,
                                left: this.left0
                            }, {duration: i, complete: o})) : o())
                        }, t.prototype.getEl = function () {
                            var t = this.el;
                            return t || ((t = this.el = this.sourceEl.clone().addClass(this.options.additionalClass || "").css({
                                position: "absolute",
                                visibility: "",
                                display: this.isHidden ? "none" : "",
                                margin: 0,
                                right: "auto",
                                bottom: "auto",
                                width: this.sourceEl.width(),
                                height: this.sourceEl.height(),
                                opacity: this.options.opacity || "",
                                zIndex: this.options.zIndex
                            })).addClass("fc-unselectable"), t.appendTo(this.parentEl)), t
                        }, t.prototype.removeElement = function () {
                            this.el && (this.el.remove(), this.el = null)
                        }, t.prototype.updatePosition = function () {
                            var t, e;
                            this.getEl(), null == this.top0 && (t = this.sourceEl.offset(), e = this.el.offsetParent().offset(), this.top0 = t.top - e.top, this.left0 = t.left - e.left), this.el.css({
                                top: this.top0 + this.topDelta,
                                left: this.left0 + this.leftDelta
                            })
                        }, t.prototype.handleMove = function (t) {
                            this.topDelta = i.getEvY(t) - this.y0, this.leftDelta = i.getEvX(t) - this.x0, this.isHidden || this.updatePosition()
                        }, t.prototype.hide = function () {
                            this.isHidden || (this.isHidden = !0, this.el && this.el.hide())
                        }, t.prototype.show = function () {
                            this.isHidden && (this.isHidden = !1, this.updatePosition(), this.getEl().show())
                        }, t
                    }();
                    e.default = s, o.default.mixInto(s)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(23), o = function (t) {
                        function e(e) {
                            var n = t.call(this, e) || this;
                            return n.dragListener = n.buildDragListener(), n
                        }

                        return r.__extends(e, t), e.prototype.end = function () {
                            this.dragListener.endInteraction()
                        }, e.prototype.bindToEl = function (t) {
                            var e = this.component, n = this.dragListener;
                            e.bindDateHandlerToEl(t, "mousedown", (function (t) {
                                e.shouldIgnoreMouse() || n.startInteraction(t)
                            })), e.bindDateHandlerToEl(t, "touchstart", (function (t) {
                                e.shouldIgnoreTouch() || n.startInteraction(t)
                            }))
                        }, e.prototype.buildDragListener = function () {
                            var t, e = this, n = this.component, r = new i.default(n, {
                                scroll: this.opt("dragScroll"), interactionStart: function () {
                                    t = r.origHit
                                }, hitOver: function (e, n, r) {
                                    n || (t = null)
                                }, hitOut: function () {
                                    t = null
                                }, interactionEnd: function (r, i) {
                                    var o;
                                    !i && t && (o = n.getSafeHitFootprint(t)) && e.view.triggerDayClick(o, n.getHitEl(t), r)
                                }
                            });
                            return r.shouldCancelTouchScroll = !1, r.scrollAlwaysKills = !0, r
                        }, e
                    }(n(15).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e, n) || this;
                            return r.timeGrid = e, r
                        }

                        return r.__extends(e, t), e.prototype.renderFgSegs = function (t) {
                            this.renderFgSegsIntoContainers(t, this.timeGrid.fgContainerEls)
                        }, e.prototype.renderFgSegsIntoContainers = function (t, e) {
                            var n, r;
                            for (n = this.timeGrid.groupSegsByCol(t), r = 0; r < this.timeGrid.colCnt; r++) this.updateFgSegCoords(n[r]);
                            this.timeGrid.attachSegsByCol(n, e)
                        }, e.prototype.unrenderFgSegs = function () {
                            this.fgSegs && this.fgSegs.forEach((function (t) {
                                t.el.remove()
                            }))
                        }, e.prototype.computeEventTimeFormat = function () {
                            return this.opt("noMeridiemTimeFormat")
                        }, e.prototype.computeDisplayEventEnd = function () {
                            return !0
                        }, e.prototype.fgSegHtml = function (t, e) {
                            var n, r, o, s = this.view, a = s.calendar, l = t.footprint.componentFootprint,
                                c = l.isAllDay, d = t.footprint.eventDef, u = s.isEventDefDraggable(d),
                                h = !e && t.isStart && s.isEventDefResizableFromStart(d),
                                f = !e && t.isEnd && s.isEventDefResizableFromEnd(d),
                                p = this.getSegClasses(t, u, h || f), g = i.cssToStr(this.getSkinCss(d));
                            if (p.unshift("fc-time-grid-event", "fc-v-event"), s.isMultiDayRange(l.unzonedRange)) {
                                if (t.isStart || t.isEnd) {
                                    var v = a.msToMoment(t.startMs), y = a.msToMoment(t.endMs);
                                    n = this._getTimeText(v, y, c), r = this._getTimeText(v, y, c, "LT"), o = this._getTimeText(v, y, c, null, !1)
                                }
                            } else n = this.getTimeText(t.footprint), r = this.getTimeText(t.footprint, "LT"), o = this.getTimeText(t.footprint, null, !1);
                            return '<a class="' + p.join(" ") + '"' + (d.url ? ' href="' + i.htmlEscape(d.url) + '"' : "") + (g ? ' style="' + g + '"' : "") + '><div class="fc-content">' + (n ? '<div class="fc-time" data-start="' + i.htmlEscape(o) + '" data-full="' + i.htmlEscape(r) + '"><span>' + i.htmlEscape(n) + "</span></div>" : "") + (d.title ? '<div class="fc-title">' + i.htmlEscape(d.title) + "</div>" : "") + '</div><div class="fc-bg"/>' + (f ? '<div class="fc-resizer fc-end-resizer" />' : "") + "</a>"
                        }, e.prototype.updateFgSegCoords = function (t) {
                            this.timeGrid.computeSegVerticals(t), this.computeFgSegHorizontals(t), this.timeGrid.assignSegVerticals(t), this.assignFgSegHorizontals(t)
                        }, e.prototype.computeFgSegHorizontals = function (t) {
                            var e, n, r;
                            if (this.sortEventSegs(t), function (t) {
                                var e, n, r, i, o;
                                for (e = 0; e < t.length; e++) for (n = t[e], r = 0; r < n.length; r++) for ((i = n[r]).forwardSegs = [], o = e + 1; o < t.length; o++) a(i, t[o], i.forwardSegs)
                            }(e = function (t) {
                                var e, n, r, i = [];
                                for (e = 0; e < t.length; e++) {
                                    for (n = t[e], r = 0; r < i.length && a(n, i[r]).length; r++) ;
                                    n.level = r, (i[r] || (i[r] = [])).push(n)
                                }
                                return i
                            }(t)), n = e[0]) {
                                for (r = 0; r < n.length; r++) s(n[r]);
                                for (r = 0; r < n.length; r++) this.computeFgSegForwardBack(n[r], 0, 0)
                            }
                        }, e.prototype.computeFgSegForwardBack = function (t, e, n) {
                            var r, i = t.forwardSegs;
                            if (void 0 === t.forwardCoord) for (i.length ? (this.sortForwardSegs(i), this.computeFgSegForwardBack(i[0], e + 1, n), t.forwardCoord = i[0].backwardCoord) : t.forwardCoord = 1, t.backwardCoord = t.forwardCoord - (t.forwardCoord - n) / (e + 1), r = 0; r < i.length; r++) this.computeFgSegForwardBack(i[r], 0, t.forwardCoord)
                        }, e.prototype.sortForwardSegs = function (t) {
                            t.sort(i.proxy(this, "compareForwardSegs"))
                        }, e.prototype.compareForwardSegs = function (t, e) {
                            return e.forwardPressure - t.forwardPressure || (t.backwardCoord || 0) - (e.backwardCoord || 0) || this.compareEventSegs(t, e)
                        }, e.prototype.assignFgSegHorizontals = function (t) {
                            var e, n;
                            for (e = 0; e < t.length; e++) (n = t[e]).el.css(this.generateFgSegHorizontalCss(n)), n.bottom - n.top < 30 && n.el.addClass("fc-short")
                        }, e.prototype.generateFgSegHorizontalCss = function (t) {
                            var e, n, r = this.opt("slotEventOverlap"), i = t.backwardCoord, o = t.forwardCoord,
                                s = this.timeGrid.generateSegVerticalCss(t), a = this.timeGrid.isRTL;
                            return r && (o = Math.min(1, i + 2 * (o - i))), a ? (e = 1 - o, n = i) : (e = i, n = 1 - o), s.zIndex = t.level + 1, s.left = 100 * e + "%", s.right = 100 * n + "%", r && t.forwardPressure && (s[a ? "marginLeft" : "marginRight"] = 20), s
                        }, e
                    }(n(42).default);

                    function s(t) {
                        var e, n, r = t.forwardSegs, i = 0;
                        if (void 0 === t.forwardPressure) {
                            for (e = 0; e < r.length; e++) s(n = r[e]), i = Math.max(i, 1 + n.forwardPressure);
                            t.forwardPressure = i
                        }
                    }

                    function a(t, e, n) {
                        void 0 === n && (n = []);
                        for (var r = 0; r < e.length; r++) i = t, o = e[r], i.bottom > o.top && i.top < o.bottom && n.push(e[r]);
                        var i, o;
                        return n
                    }

                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.renderSegs = function (t, e) {
                            var n, r, o, s = [];
                            for (this.eventRenderer.renderFgSegsIntoContainers(t, this.component.helperContainerEls), n = 0; n < t.length; n++) r = t[n], e && e.col === r.col && (o = e.el, r.el.css({
                                left: o.css("left"),
                                right: o.css("right"),
                                "margin-left": o.css("margin-left"),
                                "margin-right": o.css("margin-right")
                            })), s.push(r.el[0]);
                            return i(s)
                        }, e
                    }(n(58).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.attachSegEls = function (t, e) {
                            var n, r = this.component;
                            return "bgEvent" === t ? n = r.bgContainerEls : "businessHours" === t ? n = r.businessContainerEls : "highlight" === t && (n = r.highlightContainerEls), r.updateSegVerticals(e), r.attachSegsByCol(r.groupSegsByCol(e), n), e.map((function (t) {
                                return t.el[0]
                            }))
                        }, e
                    }(n(57).default);
                    e.default = i
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(3), i = n(4), o = n(7), s = function () {
                        function t(t) {
                            this.isHidden = !0, this.margin = 10, this.options = t || {}
                        }

                        return t.prototype.show = function () {
                            this.isHidden && (this.el || this.render(), this.el.show(), this.position(), this.isHidden = !1, this.trigger("show"))
                        }, t.prototype.hide = function () {
                            this.isHidden || (this.el.hide(), this.isHidden = !0, this.trigger("hide"))
                        }, t.prototype.render = function () {
                            var t = this, e = this.options;
                            this.el = r('<div class="fc-popover"/>').addClass(e.className || "").css({
                                top: 0,
                                left: 0
                            }).append(e.content).appendTo(e.parentEl), this.el.on("click", ".fc-close", (function () {
                                t.hide()
                            })), e.autoHide && this.listenTo(r(document), "mousedown", this.documentMousedown)
                        }, t.prototype.documentMousedown = function (t) {
                            this.el && !r(t.target).closest(this.el).length && this.hide()
                        }, t.prototype.removeElement = function () {
                            this.hide(), this.el && (this.el.remove(), this.el = null), this.stopListeningTo(r(document), "mousedown")
                        }, t.prototype.position = function () {
                            var t, e, n, o, s, a = this.options, l = this.el.offsetParent().offset(),
                                c = this.el.outerWidth(), d = this.el.outerHeight(), u = r(window),
                                h = i.getScrollParent(this.el);
                            o = a.top || 0, s = void 0 !== a.left ? a.left : void 0 !== a.right ? a.right - c : 0, h.is(window) || h.is(document) ? (h = u, t = 0, e = 0) : (t = (n = h.offset()).top, e = n.left), t += u.scrollTop(), e += u.scrollLeft(), !1 !== a.viewportConstrain && (o = Math.min(o, t + h.outerHeight() - d - this.margin), o = Math.max(o, t + this.margin), s = Math.min(s, e + h.outerWidth() - c - this.margin), s = Math.max(s, e + this.margin)), this.el.css({
                                top: o - l.top,
                                left: s - l.left
                            })
                        }, t.prototype.trigger = function (t) {
                            this.options[t] && this.options[t].apply(this, Array.prototype.slice.call(arguments, 1))
                        }, t
                    }();
                    e.default = s, o.default.mixInto(s)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = n(4), s = function (t) {
                        function e(e, n) {
                            var r = t.call(this, e, n) || this;
                            return r.dayGrid = e, r
                        }

                        return r.__extends(e, t), e.prototype.renderBgRanges = function (e) {
                            e = i.grep(e, (function (t) {
                                return t.eventDef.isAllDay()
                            })), t.prototype.renderBgRanges.call(this, e)
                        }, e.prototype.renderFgSegs = function (t) {
                            var e = this.rowStructs = this.renderSegRows(t);
                            this.dayGrid.rowEls.each((function (t, n) {
                                i(n).find(".fc-content-skeleton > table").append(e[t].tbodyEl)
                            }))
                        }, e.prototype.unrenderFgSegs = function () {
                            for (var t, e = this.rowStructs || []; t = e.pop();) t.tbodyEl.remove();
                            this.rowStructs = null
                        }, e.prototype.renderSegRows = function (t) {
                            var e, n, r = [];
                            for (e = this.groupSegRows(t), n = 0; n < e.length; n++) r.push(this.renderSegRow(n, e[n]));
                            return r
                        }, e.prototype.renderSegRow = function (t, e) {
                            var n, r, o, s, a, l, c, d = this.dayGrid.colCnt, u = this.buildSegLevels(e),
                                h = Math.max(1, u.length), f = i("<tbody/>"), p = [], g = [], v = [];

                            function y(t) {
                                for (; o < t;) (c = (v[n - 1] || [])[o]) ? c.attr("rowspan", parseInt(c.attr("rowspan") || 1, 10) + 1) : (c = i("<td/>"), s.append(c)), g[n][o] = c, v[n][o] = c, o++
                            }

                            for (n = 0; n < h; n++) {
                                if (r = u[n], o = 0, s = i("<tr/>"), p.push([]), g.push([]), v.push([]), r) for (a = 0; a < r.length; a++) {
                                    for (y((l = r[a]).leftCol), c = i('<td class="fc-event-container"/>').append(l.el), l.leftCol !== l.rightCol ? c.attr("colspan", l.rightCol - l.leftCol + 1) : v[n][o] = c; o <= l.rightCol;) g[n][o] = c, p[n][o] = l, o++;
                                    s.append(c)
                                }
                                y(d), this.dayGrid.bookendCells(s), f.append(s)
                            }
                            return {row: t, tbodyEl: f, cellMatrix: g, segMatrix: p, segLevels: u, segs: e}
                        }, e.prototype.buildSegLevels = function (t) {
                            var e, n, r, i = [];
                            for (this.sortEventSegs(t), e = 0; e < t.length; e++) {
                                for (n = t[e], r = 0; r < i.length && a(n, i[r]); r++) ;
                                n.level = r, (i[r] || (i[r] = [])).push(n)
                            }
                            for (r = 0; r < i.length; r++) i[r].sort(l);
                            return i
                        }, e.prototype.groupSegRows = function (t) {
                            var e, n = [];
                            for (e = 0; e < this.dayGrid.rowCnt; e++) n.push([]);
                            for (e = 0; e < t.length; e++) n[t[e].row].push(t[e]);
                            return n
                        }, e.prototype.computeEventTimeFormat = function () {
                            return this.opt("extraSmallTimeFormat")
                        }, e.prototype.computeDisplayEventEnd = function () {
                            return 1 === this.dayGrid.colCnt
                        }, e.prototype.fgSegHtml = function (t, e) {
                            var n, r, i = this.view, s = t.footprint.eventDef,
                                a = t.footprint.componentFootprint.isAllDay, l = i.isEventDefDraggable(s),
                                c = !e && a && t.isStart && i.isEventDefResizableFromStart(s),
                                d = !e && a && t.isEnd && i.isEventDefResizableFromEnd(s),
                                u = this.getSegClasses(t, l, c || d), h = o.cssToStr(this.getSkinCss(s)), f = "";
                            return u.unshift("fc-day-grid-event", "fc-h-event"), t.isStart && (n = this.getTimeText(t.footprint)) && (f = '<span class="fc-time">' + o.htmlEscape(n) + "</span>"), r = '<span class="fc-title">' + (o.htmlEscape(s.title || "") || "&nbsp;") + "</span>", '<a class="' + u.join(" ") + '"' + (s.url ? ' href="' + o.htmlEscape(s.url) + '"' : "") + (h ? ' style="' + h + '"' : "") + '><div class="fc-content">' + (this.dayGrid.isRTL ? r + " " + f : f + " " + r) + "</div>" + (c ? '<div class="fc-resizer fc-start-resizer" />' : "") + (d ? '<div class="fc-resizer fc-end-resizer" />' : "") + "</a>"
                        }, e
                    }(n(42).default);

                    function a(t, e) {
                        var n, r;
                        for (n = 0; n < e.length; n++) if ((r = e[n]).leftCol <= t.rightCol && r.rightCol >= t.leftCol) return !0;
                        return !1
                    }

                    function l(t, e) {
                        return t.leftCol - e.leftCol
                    }

                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.renderSegs = function (t, e) {
                            var n, r = [];
                            return n = this.eventRenderer.renderSegRows(t), this.component.rowEls.each((function (t, o) {
                                var s, a, l = i(o), c = i('<div class="fc-helper-skeleton"><table/></div>');
                                e && e.row === t ? a = e.el.position().top : ((s = l.find(".fc-content-skeleton tbody")).length || (s = l.find(".fc-content-skeleton table")), a = s.position().top), c.css("top", a).find("table").append(n[t].tbodyEl), l.append(c), r.push(c[0])
                            })), i(r)
                        }, e
                    }(n(58).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = function (t) {
                        function e() {
                            var e = null !== t && t.apply(this, arguments) || this;
                            return e.fillSegTag = "td", e
                        }

                        return r.__extends(e, t), e.prototype.attachSegEls = function (t, e) {
                            var n, r, i, o = [];
                            for (n = 0; n < e.length; n++) r = e[n], i = this.renderFillRow(t, r), this.component.rowEls.eq(r.row).append(i), o.push(i[0]);
                            return o
                        }, e.prototype.renderFillRow = function (t, e) {
                            var n, r, o, s = this.component.colCnt, a = e.leftCol, l = e.rightCol + 1;
                            return n = "businessHours" === t ? "bgevent" : t.toLowerCase(), o = (r = i('<div class="fc-' + n + '-skeleton"><table><tr/></table></div>')).find("tr"), a > 0 && o.append('<td colspan="' + a + '"/>'), o.append(e.el.attr("colspan", l - a)), l < s && o.append('<td colspan="' + (s - l) + '"/>'), this.component.bookendCells(o), r
                        }, e
                    }(n(57).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(228), o = n(5), s = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.buildRenderRange = function (e, n, r) {
                            var i, s = t.prototype.buildRenderRange.call(this, e, n, r),
                                a = this.msToUtcMoment(s.startMs, r), l = this.msToUtcMoment(s.endMs, r);
                            return this.opt("fixedWeekCount") && (i = Math.ceil(l.diff(a, "weeks", !0)), l.add(6 - i, "weeks")), new o.default(a, l)
                        }, e
                    }(i.default);
                    e.default = s
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(4), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.renderFgSegs = function (t) {
                            t.length ? this.component.renderSegList(t) : this.component.renderEmptyMessage()
                        }, e.prototype.fgSegHtml = function (t) {
                            var e, n = this.view, r = n.calendar, o = r.theme, s = t.footprint, a = s.eventDef,
                                l = s.componentFootprint, c = a.url, d = ["fc-list-item"].concat(this.getClasses(a)),
                                u = this.getBgColor(a);
                            return e = l.isAllDay ? n.getAllDayHtml() : n.isMultiDayRange(l.unzonedRange) ? t.isStart || t.isEnd ? i.htmlEscape(this._getTimeText(r.msToMoment(t.startMs), r.msToMoment(t.endMs), l.isAllDay)) : n.getAllDayHtml() : i.htmlEscape(this.getTimeText(s)), c && d.push("fc-has-url"), '<tr class="' + d.join(" ") + '">' + (this.displayEventTime ? '<td class="fc-list-item-time ' + o.getClass("widgetContent") + '">' + (e || "") + "</td>" : "") + '<td class="fc-list-item-marker ' + o.getClass("widgetContent") + '"><span class="fc-event-dot"' + (u ? ' style="background-color:' + u + '"' : "") + '></span></td><td class="fc-list-item-title ' + o.getClass("widgetContent") + '"><a' + (c ? ' href="' + i.htmlEscape(c) + '"' : "") + ">" + i.htmlEscape(a.title || "") + "</a></td></tr>"
                        }, e.prototype.computeEventTimeFormat = function () {
                            return this.opt("mediumTimeFormat")
                        }, e
                    }(n(42).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = n(3), o = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e.prototype.handleClick = function (e, n) {
                            var r;
                            t.prototype.handleClick.call(this, e, n), i(n.target).closest("a[href]").length || (r = e.footprint.eventDef.url) && !n.isDefaultPrevented() && (window.location.href = r)
                        }, e
                    }(n(59).default);
                    e.default = o
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(38), i = n(52), o = n(215), s = n(216);
                    r.default.registerClass(i.default), r.default.registerClass(o.default), r.default.registerClass(s.default)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(51), i = n(213), o = n(214), s = n(258), a = n(259);
                    r.defineThemeSystem("standard", i.default), r.defineThemeSystem("jquery-ui", o.default), r.defineThemeSystem("bootstrap3", s.default), r.defineThemeSystem("bootstrap4", a.default)
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e
                    }(n(19).default);
                    e.default = i, i.prototype.classes = {
                        widget: "fc-bootstrap3",
                        tableGrid: "table-bordered",
                        tableList: "table",
                        tableListHeading: "active",
                        buttonGroup: "btn-group",
                        button: "btn btn-default",
                        stateActive: "active",
                        stateDisabled: "disabled",
                        today: "alert alert-info",
                        popover: "panel panel-default",
                        popoverHeader: "panel-heading",
                        popoverContent: "panel-body",
                        headerRow: "panel-default",
                        dayRow: "panel-default",
                        listView: "panel panel-default"
                    }, i.prototype.baseIconClass = "glyphicon", i.prototype.iconClasses = {
                        close: "glyphicon-remove",
                        prev: "glyphicon-chevron-left",
                        next: "glyphicon-chevron-right",
                        prevYear: "glyphicon-backward",
                        nextYear: "glyphicon-forward"
                    }, i.prototype.iconOverrideOption = "bootstrapGlyphicons", i.prototype.iconOverrideCustomButtonOption = "bootstrapGlyphicon", i.prototype.iconOverridePrefix = "glyphicon-"
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(2), i = function (t) {
                        function e() {
                            return null !== t && t.apply(this, arguments) || this
                        }

                        return r.__extends(e, t), e
                    }(n(19).default);
                    e.default = i, i.prototype.classes = {
                        widget: "fc-bootstrap4",
                        tableGrid: "table-bordered",
                        tableList: "table",
                        tableListHeading: "table-active",
                        buttonGroup: "btn-group",
                        button: "btn btn-primary",
                        stateActive: "active",
                        stateDisabled: "disabled",
                        today: "alert alert-info",
                        popover: "card card-primary",
                        popoverHeader: "card-header",
                        popoverContent: "card-body",
                        headerRow: "table-bordered",
                        dayRow: "table-bordered",
                        listView: "card card-primary"
                    }, i.prototype.baseIconClass = "fa", i.prototype.iconClasses = {
                        close: "fa-times",
                        prev: "fa-chevron-left",
                        next: "fa-chevron-right",
                        prevYear: "fa-angle-double-left",
                        nextYear: "fa-angle-double-right"
                    }, i.prototype.iconOverrideOption = "bootstrapFontAwesome", i.prototype.iconOverrideCustomButtonOption = "bootstrapFontAwesome", i.prototype.iconOverridePrefix = "fa-"
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(22), i = n(62), o = n(229);
                    r.defineView("basic", {class: i.default}), r.defineView("basicDay", {
                        type: "basic",
                        duration: {days: 1}
                    }), r.defineView("basicWeek", {
                        type: "basic",
                        duration: {weeks: 1}
                    }), r.defineView("month", {class: o.default, duration: {months: 1}, defaults: {fixedWeekCount: !0}})
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(22), i = n(226);
                    r.defineView("agenda", {
                        class: i.default,
                        defaults: {allDaySlot: !0, slotDuration: "00:30:00", slotEventOverlap: !0}
                    }), r.defineView("agendaDay", {
                        type: "agenda",
                        duration: {days: 1}
                    }), r.defineView("agendaWeek", {type: "agenda", duration: {weeks: 1}})
                }, function (t, e, n) {
                    Object.defineProperty(e, "__esModule", {value: !0});
                    var r = n(22), i = n(230);
                    r.defineView("list", {
                        class: i.default,
                        buttonTextKey: "list",
                        defaults: {buttonText: "list", listDayFormat: "LL", noEventsMessage: "No events to display"}
                    }), r.defineView("listDay", {
                        type: "list",
                        duration: {days: 1},
                        defaults: {listDayFormat: "dddd"}
                    }), r.defineView("listWeek", {
                        type: "list",
                        duration: {weeks: 1},
                        defaults: {listDayFormat: "dddd", listDayAltFormat: "LL"}
                    }), r.defineView("listMonth", {
                        type: "list",
                        duration: {month: 1},
                        defaults: {listDayAltFormat: "dddd"}
                    }), r.defineView("listYear", {
                        type: "list",
                        duration: {year: 1},
                        defaults: {listDayAltFormat: "dddd"}
                    })
                }, function (t, e) {
                    Object.defineProperty(e, "__esModule", {value: !0})
                }])
            }, "object" === (0, h.default)(e) && "object" === (0, h.default)(t) ? t.exports = s(n(5), n(3)) : (i = [n(5), n(3)], void 0 === (o = "function" == typeof (r = s) ? r.apply(e, i) : r) || (t.exports = o))
        }).call(this, n(12)(t))
    }, function (t, e) {
        t.exports = function (t) {
            return t.webpackPolyfill || (t.deprecate = function () {
            }, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, "loaded", {
                enumerable: !0,
                get: function () {
                    return t.l
                }
            }), Object.defineProperty(t, "id", {
                enumerable: !0, get: function () {
                    return t.i
                }
            }), t.webpackPolyfill = 1), t
        }
    }, function (t, e) {
        t.exports = require("babel-runtime/core-js/json/stringify")
    }, function (t, e) {
        t.exports = require("babel-runtime/core-js/object/get-own-property-names")
    }, function (t, e) {
        t.exports = require("babel-runtime/core-js/object/create")
    }, function (t, e) {
        t.exports = require("babel-runtime/core-js/object/set-prototype-of")
    }, function (t, e) {
        t.exports = require("babel-runtime/core-js/object/define-property")
    }, function (t, e) {
        t.exports = require("babel-runtime/helpers/typeof")
    }, function (t, e) {
        t.exports = require("lodash.defaultsdeep")
    }, function (t, e, n) {
        "use strict";
        var r = n(2);
        n.n(r).a
    }, function (t, e, n) {
        (e = t.exports = n(6)(!1)).i(n(22), ""), e.push([t.i, "\r\n", ""])
    }, function (t, e, n) {
        (t.exports = n(6)(!1)).push([t.i, '/*!\r\n * FullCalendar v3.9.0\r\n */\r\n.fc {\r\n  direction: ltr;\r\n  text-align: left;\r\n}\r\n\r\n.fc-rtl {\r\n  text-align: right;\r\n}\r\n\r\nbody .fc {\r\n  /* extra precedence to overcome jqui */\r\n  font-size: 1em;\r\n}\r\n\r\n/* Colors\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-highlight {\r\n  /* when user is selecting cells */\r\n  background: #bce8f1;\r\n  opacity: .3;\r\n}\r\n\r\n.fc-bgevent {\r\n  /* default look for background events */\r\n  background: #8fdf82;\r\n  opacity: .3;\r\n}\r\n\r\n.fc-nonbusiness {\r\n  /* default look for non-business-hours areas */\r\n  /* will inherit .fc-bgevent\'s styles */\r\n  background: #d7d7d7;\r\n}\r\n\r\n/* Buttons (styled <button> tags, normalized to work cross-browser)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc button {\r\n  /* force height to include the border and padding */\r\n  -moz-box-sizing: border-box;\r\n  -webkit-box-sizing: border-box;\r\n  box-sizing: border-box;\r\n  /* dimensions */\r\n  margin: 0;\r\n  height: 2.1em;\r\n  padding: 0 .6em;\r\n  /* text & cursor */\r\n  font-size: 1em;\r\n  /* normalize */\r\n  white-space: nowrap;\r\n  cursor: pointer;\r\n}\r\n\r\n/* Firefox has an annoying inner border */\r\n.fc button::-moz-focus-inner {\r\n  margin: 0;\r\n  padding: 0;\r\n}\r\n\r\n.fc-state-default {\r\n  /* non-theme */\r\n  border: 1px solid;\r\n}\r\n\r\n.fc-state-default.fc-corner-left {\r\n  /* non-theme */\r\n  border-top-left-radius: 4px;\r\n  border-bottom-left-radius: 4px;\r\n}\r\n\r\n.fc-state-default.fc-corner-right {\r\n  /* non-theme */\r\n  border-top-right-radius: 4px;\r\n  border-bottom-right-radius: 4px;\r\n}\r\n\r\n/* icons in buttons */\r\n.fc button .fc-icon {\r\n  /* non-theme */\r\n  position: relative;\r\n  top: -0.05em;\r\n  /* seems to be a good adjustment across browsers */\r\n  margin: 0 .2em;\r\n  vertical-align: middle;\r\n}\r\n\r\n/*\r\n    button states\r\n    borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)\r\n  */\r\n.fc-state-default {\r\n  background-color: #f5f5f5;\r\n  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);\r\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));\r\n  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);\r\n  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);\r\n  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);\r\n  background-repeat: repeat-x;\r\n  border-color: #e6e6e6 #e6e6e6 #bfbfbf;\r\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r\n  color: #333;\r\n  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\r\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.fc-state-hover,\r\n.fc-state-down,\r\n.fc-state-active,\r\n.fc-state-disabled {\r\n  color: #333333;\r\n  background-color: #e6e6e6;\r\n}\r\n\r\n.fc-state-hover {\r\n  color: #333333;\r\n  text-decoration: none;\r\n  background-position: 0 -15px;\r\n  -webkit-transition: background-position 0.1s linear;\r\n  -moz-transition: background-position 0.1s linear;\r\n  -o-transition: background-position 0.1s linear;\r\n  transition: background-position 0.1s linear;\r\n}\r\n\r\n.fc-state-down,\r\n.fc-state-active {\r\n  background-color: #cccccc;\r\n  background-image: none;\r\n  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.fc-state-disabled {\r\n  cursor: default;\r\n  background-image: none;\r\n  opacity: 0.65;\r\n  box-shadow: none;\r\n}\r\n\r\n/* Buttons Groups\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-button-group {\r\n  display: inline-block;\r\n}\r\n\r\n/*\r\n  every button that is not first in a button group should scootch over one pixel and cover the\r\n  previous button\'s border...\r\n  */\r\n.fc .fc-button-group>* {\r\n  /* extra precedence b/c buttons have margin set to zero */\r\n  float: left;\r\n  margin: 0 0 0 -1px;\r\n}\r\n\r\n.fc .fc-button-group> :first-child {\r\n  /* same */\r\n  margin-left: 0;\r\n}\r\n\r\n/* Popover\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-popover {\r\n  position: absolute;\r\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n.fc-popover .fc-header {\r\n  /* TODO: be more consistent with fc-head/fc-body */\r\n  padding: 2px 4px;\r\n}\r\n\r\n.fc-popover .fc-header .fc-title {\r\n  margin: 0 2px;\r\n}\r\n\r\n.fc-popover .fc-header .fc-close {\r\n  cursor: pointer;\r\n}\r\n\r\n.fc-ltr .fc-popover .fc-header .fc-title,\r\n.fc-rtl .fc-popover .fc-header .fc-close {\r\n  float: left;\r\n}\r\n\r\n.fc-rtl .fc-popover .fc-header .fc-title,\r\n.fc-ltr .fc-popover .fc-header .fc-close {\r\n  float: right;\r\n}\r\n\r\n/* Misc Reusable Components\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-divider {\r\n  border-style: solid;\r\n  border-width: 1px;\r\n}\r\n\r\nhr.fc-divider {\r\n  height: 0;\r\n  margin: 0;\r\n  padding: 0 0 2px;\r\n  /* height is unreliable across browsers, so use padding */\r\n  border-width: 1px 0;\r\n}\r\n\r\n.fc-clear {\r\n  clear: both;\r\n}\r\n\r\n.fc-bg,\r\n.fc-bgevent-skeleton,\r\n.fc-highlight-skeleton,\r\n.fc-helper-skeleton {\r\n  /* these element should always cling to top-left/right corners */\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n.fc-bg {\r\n  bottom: 0;\r\n  /* strech bg to bottom edge */\r\n}\r\n\r\n.fc-bg table {\r\n  height: 100%;\r\n  /* strech bg to bottom edge */\r\n}\r\n\r\n/* Tables\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc table {\r\n  width: 100%;\r\n  box-sizing: border-box;\r\n  /* fix scrollbar issue in firefox */\r\n  table-layout: fixed;\r\n  border-collapse: collapse;\r\n  border-spacing: 0;\r\n  font-size: 1em;\r\n  /* normalize cross-browser */\r\n}\r\n\r\n.fc th {\r\n  text-align: center;\r\n}\r\n\r\n.fc th,\r\n.fc td {\r\n  border-style: solid;\r\n  border-width: 1px;\r\n  padding: 0;\r\n  vertical-align: top;\r\n}\r\n\r\n.fc td.fc-today {\r\n  border-style: double;\r\n  /* overcome neighboring borders */\r\n}\r\n\r\n/* Internal Nav Links\r\n  --------------------------------------------------------------------------------------------------*/\r\na[data-goto] {\r\n  cursor: pointer;\r\n}\r\n\r\na[data-goto]:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n/* Fake Table Rows\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc .fc-row {\r\n  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */\r\n  /* no visible border by default. but make available if need be (scrollbar width compensation) */\r\n  border-style: solid;\r\n  border-width: 0;\r\n}\r\n\r\n.fc-row table {\r\n  /* don\'t put left/right border on anything within a fake row.\r\n       the outer tbody will worry about this */\r\n  border-left: 0 hidden transparent;\r\n  border-right: 0 hidden transparent;\r\n  /* no bottom borders on rows */\r\n  border-bottom: 0 hidden transparent;\r\n}\r\n\r\n.fc-row:first-child table {\r\n  border-top: 0 hidden transparent;\r\n  /* no top border on first row */\r\n}\r\n\r\n/* Day Row (used within the header and the DayGrid)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-row {\r\n  position: relative;\r\n}\r\n\r\n.fc-row .fc-bg {\r\n  z-index: 1;\r\n}\r\n\r\n/* highlighting cells & background event skeleton */\r\n.fc-row .fc-bgevent-skeleton,\r\n.fc-row .fc-highlight-skeleton {\r\n  bottom: 0;\r\n  /* stretch skeleton to bottom of row */\r\n}\r\n\r\n.fc-row .fc-bgevent-skeleton table,\r\n.fc-row .fc-highlight-skeleton table {\r\n  height: 100%;\r\n  /* stretch skeleton to bottom of row */\r\n}\r\n\r\n.fc-row .fc-highlight-skeleton td,\r\n.fc-row .fc-bgevent-skeleton td {\r\n  border-color: transparent;\r\n}\r\n\r\n.fc-row .fc-bgevent-skeleton {\r\n  z-index: 2;\r\n}\r\n\r\n.fc-row .fc-highlight-skeleton {\r\n  z-index: 3;\r\n}\r\n\r\n/*\r\n  row content (which contains day/week numbers and events) as well as "helper" (which contains\r\n  temporary rendered events).\r\n  */\r\n.fc-row .fc-content-skeleton {\r\n  position: relative;\r\n  z-index: 4;\r\n  padding-bottom: 2px;\r\n  /* matches the space above the events */\r\n}\r\n\r\n.fc-row .fc-helper-skeleton {\r\n  z-index: 5;\r\n}\r\n\r\n.fc .fc-row .fc-content-skeleton table,\r\n.fc .fc-row .fc-content-skeleton td,\r\n.fc .fc-row .fc-helper-skeleton td {\r\n  /* see-through to the background below */\r\n  /* extra precedence to prevent theme-provided backgrounds */\r\n  background: none;\r\n  /* in case <td>s are globally styled */\r\n  border-color: transparent;\r\n}\r\n\r\n.fc-row .fc-content-skeleton td,\r\n.fc-row .fc-helper-skeleton td {\r\n  /* don\'t put a border between events and/or the day number */\r\n  border-bottom: 0;\r\n}\r\n\r\n.fc-row .fc-content-skeleton tbody td,\r\n.fc-row .fc-helper-skeleton tbody td {\r\n  /* don\'t put a border between event cells */\r\n  border-top: 0;\r\n}\r\n\r\n/* Scrolling Container\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-scroller {\r\n  -webkit-overflow-scrolling: touch;\r\n}\r\n\r\n/* TODO: move to agenda/basic */\r\n.fc-scroller>.fc-day-grid,\r\n.fc-scroller>.fc-time-grid {\r\n  position: relative;\r\n  /* re-scope all positions */\r\n  width: 100%;\r\n  /* hack to force re-sizing this inner element when scrollbars appear/disappear */\r\n}\r\n\r\n/* Global Event Styles\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-event {\r\n  position: relative;\r\n  /* for resize handle and other inner positioning */\r\n  display: block;\r\n  /* make the <a> tag block */\r\n  font-size: .85em;\r\n  line-height: 1.3;\r\n  border-radius: 3px;\r\n  border: 1px solid #3a87ad;\r\n  /* default BORDER color */\r\n}\r\n\r\n.fc-event,\r\n.fc-event-dot {\r\n  background-color: #3a87ad;\r\n  /* default BACKGROUND color */\r\n}\r\n\r\n.fc-event,\r\n.fc-event:hover {\r\n  color: #fff;\r\n  /* default TEXT color */\r\n  text-decoration: none;\r\n  /* if <a> has an href */\r\n}\r\n\r\n.fc-event[href],\r\n.fc-event.fc-draggable {\r\n  cursor: pointer;\r\n  /* give events with links and draggable events a hand mouse pointer */\r\n}\r\n\r\n.fc-not-allowed,\r\n.fc-not-allowed .fc-event {\r\n  /* to override an event\'s custom cursor */\r\n  cursor: not-allowed;\r\n}\r\n\r\n.fc-event .fc-bg {\r\n  /* the generic .fc-bg already does position */\r\n  z-index: 1;\r\n  background: #fff;\r\n  opacity: .25;\r\n}\r\n\r\n.fc-event .fc-content {\r\n  position: relative;\r\n  z-index: 2;\r\n}\r\n\r\n/* resizer (cursor AND touch devices) */\r\n.fc-event .fc-resizer {\r\n  position: absolute;\r\n  z-index: 4;\r\n}\r\n\r\n/* resizer (touch devices) */\r\n.fc-event .fc-resizer {\r\n  display: none;\r\n}\r\n\r\n.fc-event.fc-allow-mouse-resize .fc-resizer,\r\n.fc-event.fc-selected .fc-resizer {\r\n  /* only show when hovering or selected (with touch) */\r\n  display: block;\r\n}\r\n\r\n/* hit area */\r\n.fc-event.fc-selected .fc-resizer:before {\r\n  /* 40x40 touch area */\r\n  content: "";\r\n  position: absolute;\r\n  z-index: 9999;\r\n  /* user of this util can scope within a lower z-index */\r\n  top: 50%;\r\n  left: 50%;\r\n  width: 40px;\r\n  height: 40px;\r\n  margin-left: -20px;\r\n  margin-top: -20px;\r\n}\r\n\r\n/* Event Selection (only for touch devices)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-event.fc-selected {\r\n  z-index: 9999 !important;\r\n  /* overcomes inline z-index */\r\n  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\n.fc-event.fc-selected.fc-dragging {\r\n  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n/* Horizontal Events\r\n  --------------------------------------------------------------------------------------------------*/\r\n/* bigger touch area when selected */\r\n.fc-h-event.fc-selected:before {\r\n  content: "";\r\n  position: absolute;\r\n  z-index: 3;\r\n  /* below resizers */\r\n  top: -10px;\r\n  bottom: -10px;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n/* events that are continuing to/from another week. kill rounded corners and butt up against edge */\r\n.fc-ltr .fc-h-event.fc-not-start,\r\n.fc-rtl .fc-h-event.fc-not-end {\r\n  margin-left: 0;\r\n  border-left-width: 0;\r\n  padding-left: 1px;\r\n  /* replace the border with padding */\r\n  border-top-left-radius: 0;\r\n  border-bottom-left-radius: 0;\r\n}\r\n\r\n.fc-ltr .fc-h-event.fc-not-end,\r\n.fc-rtl .fc-h-event.fc-not-start {\r\n  margin-right: 0;\r\n  border-right-width: 0;\r\n  padding-right: 1px;\r\n  /* replace the border with padding */\r\n  border-top-right-radius: 0;\r\n  border-bottom-right-radius: 0;\r\n}\r\n\r\n/* resizer (cursor AND touch devices) */\r\n/* left resizer  */\r\n.fc-ltr .fc-h-event .fc-start-resizer,\r\n.fc-rtl .fc-h-event .fc-end-resizer {\r\n  cursor: w-resize;\r\n  left: -1px;\r\n  /* overcome border */\r\n}\r\n\r\n/* right resizer */\r\n.fc-ltr .fc-h-event .fc-end-resizer,\r\n.fc-rtl .fc-h-event .fc-start-resizer {\r\n  cursor: e-resize;\r\n  right: -1px;\r\n  /* overcome border */\r\n}\r\n\r\n/* resizer (mouse devices) */\r\n.fc-h-event.fc-allow-mouse-resize .fc-resizer {\r\n  width: 7px;\r\n  top: -1px;\r\n  /* overcome top border */\r\n  bottom: -1px;\r\n  /* overcome bottom border */\r\n}\r\n\r\n/* resizer (touch devices) */\r\n.fc-h-event.fc-selected .fc-resizer {\r\n  /* 8x8 little dot */\r\n  border-radius: 4px;\r\n  border-width: 1px;\r\n  width: 6px;\r\n  height: 6px;\r\n  border-style: solid;\r\n  border-color: inherit;\r\n  background: #fff;\r\n  /* vertically center */\r\n  top: 50%;\r\n  margin-top: -4px;\r\n}\r\n\r\n/* left resizer  */\r\n.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,\r\n.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {\r\n  margin-left: -4px;\r\n  /* centers the 8x8 dot on the left edge */\r\n}\r\n\r\n/* right resizer */\r\n.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,\r\n.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {\r\n  margin-right: -4px;\r\n  /* centers the 8x8 dot on the right edge */\r\n}\r\n\r\n/* DayGrid events\r\n  ----------------------------------------------------------------------------------------------------\r\n  We use the full "fc-day-grid-event" class instead of using descendants because the event won\'t\r\n  be a descendant of the grid when it is being dragged.\r\n  */\r\n.fc-day-grid-event {\r\n  margin: 1px 2px 0;\r\n  /* spacing between events and edges */\r\n  padding: 0 1px;\r\n}\r\n\r\ntr:first-child>td>.fc-day-grid-event {\r\n  margin-top: 2px;\r\n  /* a little bit more space before the first event */\r\n}\r\n\r\n.fc-day-grid-event.fc-selected:after {\r\n  content: "";\r\n  position: absolute;\r\n  z-index: 1;\r\n  /* same z-index as fc-bg, behind text */\r\n  /* overcome the borders */\r\n  top: -1px;\r\n  right: -1px;\r\n  bottom: -1px;\r\n  left: -1px;\r\n  /* darkening effect */\r\n  background: #000;\r\n  opacity: .25;\r\n}\r\n\r\n.fc-day-grid-event .fc-content {\r\n  /* force events to be one-line tall */\r\n  white-space: nowrap;\r\n  overflow: hidden;\r\n}\r\n\r\n.fc-day-grid-event .fc-time {\r\n  font-weight: bold;\r\n}\r\n\r\n/* resizer (cursor devices) */\r\n/* left resizer  */\r\n.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,\r\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {\r\n  margin-left: -2px;\r\n  /* to the day cell\'s edge */\r\n}\r\n\r\n/* right resizer */\r\n.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,\r\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {\r\n  margin-right: -2px;\r\n  /* to the day cell\'s edge */\r\n}\r\n\r\n/* Event Limiting\r\n  --------------------------------------------------------------------------------------------------*/\r\n/* "more" link that represents hidden events */\r\na.fc-more {\r\n  margin: 1px 3px;\r\n  font-size: .85em;\r\n  cursor: pointer;\r\n  text-decoration: none;\r\n}\r\n\r\na.fc-more:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n.fc-limited {\r\n  /* rows and cells that are hidden because of a "more" link */\r\n  display: none;\r\n}\r\n\r\n/* popover that appears when "more" link is clicked */\r\n.fc-day-grid .fc-row {\r\n  z-index: 1;\r\n  /* make the "more" popover one higher than this */\r\n}\r\n\r\n.fc-more-popover {\r\n  z-index: 2;\r\n  width: 220px;\r\n}\r\n\r\n.fc-more-popover .fc-event-container {\r\n  padding: 10px;\r\n}\r\n\r\n/* Now Indicator\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-now-indicator {\r\n  position: absolute;\r\n  border: 0 solid red;\r\n}\r\n\r\n/* Utilities\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-unselectable {\r\n  -webkit-user-select: none;\r\n  -khtml-user-select: none;\r\n  -moz-user-select: none;\r\n  -ms-user-select: none;\r\n  user-select: none;\r\n  -webkit-touch-callout: none;\r\n  -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\n/*\r\n  TODO: more distinction between this file and common.css\r\n  */\r\n/* Colors\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-unthemed th,\r\n.fc-unthemed td,\r\n.fc-unthemed thead,\r\n.fc-unthemed tbody,\r\n.fc-unthemed .fc-divider,\r\n.fc-unthemed .fc-row,\r\n.fc-unthemed .fc-content,\r\n.fc-unthemed .fc-popover,\r\n.fc-unthemed .fc-list-view,\r\n.fc-unthemed .fc-list-heading td {\r\n  border-color: #ddd;\r\n}\r\n\r\n.fc-unthemed .fc-popover {\r\n  background-color: #fff;\r\n}\r\n\r\n.fc-unthemed .fc-divider,\r\n.fc-unthemed .fc-popover .fc-header,\r\n.fc-unthemed .fc-list-heading td {\r\n  background: #eee;\r\n}\r\n\r\n.fc-unthemed .fc-popover .fc-header .fc-close {\r\n  color: #666;\r\n}\r\n\r\n.fc-unthemed td.fc-today {\r\n  background: #fcf8e3;\r\n}\r\n\r\n.fc-unthemed .fc-disabled-day {\r\n  background: #d7d7d7;\r\n  opacity: .3;\r\n}\r\n\r\n/* Icons (inline elements with styled text that mock arrow icons)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-icon {\r\n  display: inline-block;\r\n  height: 1em;\r\n  line-height: 1em;\r\n  font-size: 1em;\r\n  text-align: center;\r\n  overflow: hidden;\r\n  font-family: "Courier New", Courier, monospace;\r\n  /* don\'t allow browser text-selection */\r\n  -webkit-touch-callout: none;\r\n  -webkit-user-select: none;\r\n  -khtml-user-select: none;\r\n  -moz-user-select: none;\r\n  -ms-user-select: none;\r\n  user-select: none;\r\n}\r\n\r\n/*\r\n  Acceptable font-family overrides for individual icons:\r\n    "Arial", sans-serif\r\n    "Times New Roman", serif\r\n  NOTE: use percentage font sizes or else old IE chokes\r\n  */\r\n.fc-icon:after {\r\n  position: relative;\r\n}\r\n\r\n.fc-icon-left-single-arrow:after {\r\n  content: "\\2039";\r\n  font-weight: bold;\r\n  font-size: 200%;\r\n  top: -7%;\r\n}\r\n\r\n.fc-icon-right-single-arrow:after {\r\n  content: "\\203A";\r\n  font-weight: bold;\r\n  font-size: 200%;\r\n  top: -7%;\r\n}\r\n\r\n.fc-icon-left-double-arrow:after {\r\n  content: "\\AB";\r\n  font-size: 160%;\r\n  top: -7%;\r\n}\r\n\r\n.fc-icon-right-double-arrow:after {\r\n  content: "\\BB";\r\n  font-size: 160%;\r\n  top: -7%;\r\n}\r\n\r\n.fc-icon-left-triangle:after {\r\n  content: "\\25C4";\r\n  font-size: 125%;\r\n  top: 3%;\r\n}\r\n\r\n.fc-icon-right-triangle:after {\r\n  content: "\\25BA";\r\n  font-size: 125%;\r\n  top: 3%;\r\n}\r\n\r\n.fc-icon-down-triangle:after {\r\n  content: "\\25BC";\r\n  font-size: 125%;\r\n  top: 2%;\r\n}\r\n\r\n.fc-icon-x:after {\r\n  content: "\\D7";\r\n  font-size: 200%;\r\n  top: 6%;\r\n}\r\n\r\n/* Popover\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-unthemed .fc-popover {\r\n  border-width: 1px;\r\n  border-style: solid;\r\n}\r\n\r\n.fc-unthemed .fc-popover .fc-header .fc-close {\r\n  font-size: .9em;\r\n  margin-top: 2px;\r\n}\r\n\r\n/* List View\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-unthemed .fc-list-item:hover td {\r\n  background-color: #f5f5f5;\r\n}\r\n\r\n/* Colors\r\n  --------------------------------------------------------------------------------------------------*/\r\n.ui-widget .fc-disabled-day {\r\n  background-image: none;\r\n}\r\n\r\n/* Popover\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-popover>.ui-widget-header+.ui-widget-content {\r\n  border-top: 0;\r\n  /* where they meet, let the header have the border */\r\n}\r\n\r\n/* Global Event Styles\r\n  --------------------------------------------------------------------------------------------------*/\r\n.ui-widget .fc-event {\r\n  /* overpower jqui\'s styles on <a> tags. TODO: more DRY */\r\n  color: #fff;\r\n  /* default TEXT color */\r\n  text-decoration: none;\r\n  /* if <a> has an href */\r\n  /* undo ui-widget-header bold */\r\n  font-weight: normal;\r\n}\r\n\r\n/* TimeGrid axis running down the side (for both the all-day area and the slot area)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.ui-widget td.fc-axis {\r\n  font-weight: normal;\r\n  /* overcome bold */\r\n}\r\n\r\n/* TimeGrid Slats (lines that run horizontally)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-time-grid .fc-slats .ui-widget-content {\r\n  background: none;\r\n  /* see through to fc-bg */\r\n}\r\n\r\n.fc.fc-bootstrap3 a {\r\n  text-decoration: none;\r\n}\r\n\r\n.fc.fc-bootstrap3 a[data-goto]:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n.fc-bootstrap3 hr.fc-divider {\r\n  border-color: inherit;\r\n}\r\n\r\n.fc-bootstrap3 .fc-today.alert {\r\n  border-radius: 0;\r\n}\r\n\r\n/* Popover\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-bootstrap3 .fc-popover .panel-body {\r\n  padding: 0;\r\n}\r\n\r\n/* TimeGrid Slats (lines that run horizontally)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-bootstrap3 .fc-time-grid .fc-slats table {\r\n  /* some themes have background color. see through to slats */\r\n  background: none;\r\n}\r\n\r\n.fc.fc-bootstrap4 a {\r\n  text-decoration: none;\r\n}\r\n\r\n.fc.fc-bootstrap4 a[data-goto]:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n.fc-bootstrap4 hr.fc-divider {\r\n  border-color: inherit;\r\n}\r\n\r\n.fc-bootstrap4 .fc-today.alert {\r\n  border-radius: 0;\r\n}\r\n\r\n.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]) {\r\n  color: #fff;\r\n}\r\n\r\n.fc-bootstrap4 .fc-popover.card {\r\n  position: absolute;\r\n}\r\n\r\n/* Popover\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-bootstrap4 .fc-popover .card-body {\r\n  padding: 0;\r\n}\r\n\r\n/* TimeGrid Slats (lines that run horizontally)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-bootstrap4 .fc-time-grid .fc-slats table {\r\n  /* some themes have background color. see through to slats */\r\n  background: none;\r\n}\r\n\r\n/* Toolbar\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-toolbar {\r\n  text-align: center;\r\n}\r\n\r\n.fc-toolbar.fc-header-toolbar {\r\n  margin-bottom: 1em;\r\n}\r\n\r\n.fc-toolbar.fc-footer-toolbar {\r\n  margin-top: 1em;\r\n}\r\n\r\n.fc-toolbar .fc-left {\r\n  float: left;\r\n}\r\n\r\n.fc-toolbar .fc-right {\r\n  float: right;\r\n}\r\n\r\n.fc-toolbar .fc-center {\r\n  display: inline-block;\r\n}\r\n\r\n/* the things within each left/right/center section */\r\n.fc .fc-toolbar>*>* {\r\n  /* extra precedence to override button border margins */\r\n  float: left;\r\n  margin-left: .75em;\r\n}\r\n\r\n/* the first thing within each left/center/right section */\r\n.fc .fc-toolbar>*> :first-child {\r\n  /* extra precedence to override button border margins */\r\n  margin-left: 0;\r\n}\r\n\r\n/* title text */\r\n.fc-toolbar h2 {\r\n  margin: 0;\r\n}\r\n\r\n/* button layering (for border precedence) */\r\n.fc-toolbar button {\r\n  position: relative;\r\n}\r\n\r\n.fc-toolbar .fc-state-hover,\r\n.fc-toolbar .ui-state-hover {\r\n  z-index: 2;\r\n}\r\n\r\n.fc-toolbar .fc-state-down {\r\n  z-index: 3;\r\n}\r\n\r\n.fc-toolbar .fc-state-active,\r\n.fc-toolbar .ui-state-active {\r\n  z-index: 4;\r\n}\r\n\r\n.fc-toolbar button:focus {\r\n  z-index: 5;\r\n}\r\n\r\n/* View Structure\r\n  --------------------------------------------------------------------------------------------------*/\r\n/* undo twitter bootstrap\'s box-sizing rules. normalizes positioning techniques */\r\n/* don\'t do this for the toolbar because we\'ll want bootstrap to style those buttons as some pt */\r\n.fc-view-container *,\r\n.fc-view-container *:before,\r\n.fc-view-container *:after {\r\n  -webkit-box-sizing: content-box;\r\n  -moz-box-sizing: content-box;\r\n  box-sizing: content-box;\r\n}\r\n\r\n.fc-view,\r\n.fc-view>table {\r\n  /* so dragged elements can be above the view\'s main element */\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n/* BasicView\r\n  --------------------------------------------------------------------------------------------------*/\r\n/* day row structure */\r\n.fc-basicWeek-view .fc-content-skeleton,\r\n.fc-basicDay-view .fc-content-skeleton {\r\n  /* there may be week numbers in these views, so no padding-top */\r\n  padding-bottom: 1em;\r\n  /* ensure a space at bottom of cell for user selecting/clicking */\r\n}\r\n\r\n.fc-basic-view .fc-body .fc-row {\r\n  min-height: 4em;\r\n  /* ensure that all rows are at least this tall */\r\n}\r\n\r\n/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */\r\n.fc-row.fc-rigid {\r\n  overflow: hidden;\r\n}\r\n\r\n.fc-row.fc-rigid .fc-content-skeleton {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n/* week and day number styling */\r\n.fc-day-top.fc-other-month {\r\n  opacity: 0.3;\r\n}\r\n\r\n.fc-basic-view .fc-week-number,\r\n.fc-basic-view .fc-day-number {\r\n  padding: 2px;\r\n}\r\n\r\n.fc-basic-view th.fc-week-number,\r\n.fc-basic-view th.fc-day-number {\r\n  padding: 0 2px;\r\n  /* column headers can\'t have as much v space */\r\n}\r\n\r\n.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {\r\n  float: right;\r\n}\r\n\r\n.fc-rtl .fc-basic-view .fc-day-top .fc-day-number {\r\n  float: left;\r\n}\r\n\r\n.fc-ltr .fc-basic-view .fc-day-top .fc-week-number {\r\n  float: left;\r\n  border-radius: 0 0 3px 0;\r\n}\r\n\r\n.fc-rtl .fc-basic-view .fc-day-top .fc-week-number {\r\n  float: right;\r\n  border-radius: 0 0 0 3px;\r\n}\r\n\r\n.fc-basic-view .fc-day-top .fc-week-number {\r\n  min-width: 1.5em;\r\n  text-align: center;\r\n  background-color: #f2f2f2;\r\n  color: #808080;\r\n}\r\n\r\n/* when week/day number have own column */\r\n.fc-basic-view td.fc-week-number {\r\n  text-align: center;\r\n}\r\n\r\n.fc-basic-view td.fc-week-number>* {\r\n  /* work around the way we do column resizing and ensure a minimum width */\r\n  display: inline-block;\r\n  min-width: 1.25em;\r\n}\r\n\r\n/* AgendaView all-day area\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-agenda-view .fc-day-grid {\r\n  position: relative;\r\n  z-index: 2;\r\n  /* so the "more.." popover will be over the time grid */\r\n}\r\n\r\n.fc-agenda-view .fc-day-grid .fc-row {\r\n  min-height: 3em;\r\n  /* all-day section will never get shorter than this */\r\n}\r\n\r\n.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {\r\n  padding-bottom: 1em;\r\n  /* give space underneath events for clicking/selecting days */\r\n}\r\n\r\n/* TimeGrid axis running down the side (for both the all-day area and the slot area)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc .fc-axis {\r\n  /* .fc to overcome default cell styles */\r\n  vertical-align: middle;\r\n  padding: 0 4px;\r\n  white-space: nowrap;\r\n}\r\n\r\n.fc-ltr .fc-axis {\r\n  text-align: right;\r\n}\r\n\r\n.fc-rtl .fc-axis {\r\n  text-align: left;\r\n}\r\n\r\n/* TimeGrid Structure\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-time-grid-container,\r\n.fc-time-grid {\r\n  /* so slats/bg/content/etc positions get scoped within here */\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.fc-time-grid {\r\n  min-height: 100%;\r\n  /* so if height setting is \'auto\', .fc-bg stretches to fill height */\r\n}\r\n\r\n.fc-time-grid table {\r\n  /* don\'t put outer borders on slats/bg/content/etc */\r\n  border: 0 hidden transparent;\r\n}\r\n\r\n.fc-time-grid>.fc-bg {\r\n  z-index: 1;\r\n}\r\n\r\n.fc-time-grid .fc-slats,\r\n.fc-time-grid>hr {\r\n  /* the <hr> AgendaView injects when grid is shorter than scroller */\r\n  position: relative;\r\n  z-index: 2;\r\n}\r\n\r\n.fc-time-grid .fc-content-col {\r\n  position: relative;\r\n  /* because now-indicator lives directly inside */\r\n}\r\n\r\n.fc-time-grid .fc-content-skeleton {\r\n  position: absolute;\r\n  z-index: 3;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n/* divs within a cell within the fc-content-skeleton */\r\n.fc-time-grid .fc-business-container {\r\n  position: relative;\r\n  z-index: 1;\r\n}\r\n\r\n.fc-time-grid .fc-bgevent-container {\r\n  position: relative;\r\n  z-index: 2;\r\n}\r\n\r\n.fc-time-grid .fc-highlight-container {\r\n  position: relative;\r\n  z-index: 3;\r\n}\r\n\r\n.fc-time-grid .fc-event-container {\r\n  position: relative;\r\n  z-index: 4;\r\n}\r\n\r\n.fc-time-grid .fc-now-indicator-line {\r\n  z-index: 5;\r\n}\r\n\r\n.fc-time-grid .fc-helper-container {\r\n  /* also is fc-event-container */\r\n  position: relative;\r\n  z-index: 6;\r\n}\r\n\r\n/* TimeGrid Slats (lines that run horizontally)\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-time-grid .fc-slats td {\r\n  height: 1.5em;\r\n  border-bottom: 0;\r\n  /* each cell is responsible for its top border */\r\n}\r\n\r\n.fc-time-grid .fc-slats .fc-minor td {\r\n  border-top-style: dotted;\r\n}\r\n\r\n/* TimeGrid Highlighting Slots\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-time-grid .fc-highlight-container {\r\n  /* a div within a cell within the fc-highlight-skeleton */\r\n  position: relative;\r\n  /* scopes the left/right of the fc-highlight to be in the column */\r\n}\r\n\r\n.fc-time-grid .fc-highlight {\r\n  position: absolute;\r\n  left: 0;\r\n  right: 0;\r\n  /* top and bottom will be in by JS */\r\n}\r\n\r\n/* TimeGrid Event Containment\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-ltr .fc-time-grid .fc-event-container {\r\n  /* space on the sides of events for LTR (default) */\r\n  margin: 0 2.5% 0 2px;\r\n}\r\n\r\n.fc-rtl .fc-time-grid .fc-event-container {\r\n  /* space on the sides of events for RTL */\r\n  margin: 0 2px 0 2.5%;\r\n}\r\n\r\n.fc-time-grid .fc-event,\r\n.fc-time-grid .fc-bgevent {\r\n  position: absolute;\r\n  z-index: 1;\r\n  /* scope inner z-index\'s */\r\n}\r\n\r\n.fc-time-grid .fc-bgevent {\r\n  /* background events always span full width */\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n/* Generic Vertical Event\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-v-event.fc-not-start {\r\n  /* events that are continuing from another day */\r\n  /* replace space made by the top border with padding */\r\n  border-top-width: 0;\r\n  padding-top: 1px;\r\n  /* remove top rounded corners */\r\n  border-top-left-radius: 0;\r\n  border-top-right-radius: 0;\r\n}\r\n\r\n.fc-v-event.fc-not-end {\r\n  /* replace space made by the top border with padding */\r\n  border-bottom-width: 0;\r\n  padding-bottom: 1px;\r\n  /* remove bottom rounded corners */\r\n  border-bottom-left-radius: 0;\r\n  border-bottom-right-radius: 0;\r\n}\r\n\r\n/* TimeGrid Event Styling\r\n  ----------------------------------------------------------------------------------------------------\r\n  We use the full "fc-time-grid-event" class instead of using descendants because the event won\'t\r\n  be a descendant of the grid when it is being dragged.\r\n  */\r\n.fc-time-grid-event {\r\n  overflow: hidden;\r\n  /* don\'t let the bg flow over rounded corners */\r\n}\r\n\r\n.fc-time-grid-event.fc-selected {\r\n  /* need to allow touch resizers to extend outside event\'s bounding box */\r\n  /* common fc-selected styles hide the fc-bg, so don\'t need this anyway */\r\n  overflow: visible;\r\n}\r\n\r\n.fc-time-grid-event.fc-selected .fc-bg {\r\n  display: none;\r\n  /* hide semi-white background, to appear darker */\r\n}\r\n\r\n.fc-time-grid-event .fc-content {\r\n  overflow: hidden;\r\n  /* for when .fc-selected */\r\n}\r\n\r\n.fc-time-grid-event .fc-time,\r\n.fc-time-grid-event .fc-title {\r\n  padding: 0 1px;\r\n}\r\n\r\n.fc-time-grid-event .fc-time {\r\n  font-size: .85em;\r\n  white-space: nowrap;\r\n}\r\n\r\n/* short mode, where time and title are on the same line */\r\n.fc-time-grid-event.fc-short .fc-content {\r\n  /* don\'t wrap to second line (now that contents will be inline) */\r\n  white-space: nowrap;\r\n}\r\n\r\n.fc-time-grid-event.fc-short .fc-time,\r\n.fc-time-grid-event.fc-short .fc-title {\r\n  /* put the time and title on the same line */\r\n  display: inline-block;\r\n  vertical-align: top;\r\n}\r\n\r\n.fc-time-grid-event.fc-short .fc-time span {\r\n  display: none;\r\n  /* don\'t display the full time text... */\r\n}\r\n\r\n.fc-time-grid-event.fc-short .fc-time:before {\r\n  content: attr(data-start);\r\n  /* ...instead, display only the start time */\r\n}\r\n\r\n.fc-time-grid-event.fc-short .fc-time:after {\r\n  content: "\\A0-\\A0";\r\n  /* seperate with a dash, wrapped in nbsp\'s */\r\n}\r\n\r\n.fc-time-grid-event.fc-short .fc-title {\r\n  font-size: .85em;\r\n  /* make the title text the same size as the time */\r\n  padding: 0;\r\n  /* undo padding from above */\r\n}\r\n\r\n/* resizer (cursor device) */\r\n.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  height: 8px;\r\n  overflow: hidden;\r\n  line-height: 8px;\r\n  font-size: 11px;\r\n  font-family: monospace;\r\n  text-align: center;\r\n  cursor: s-resize;\r\n}\r\n\r\n.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {\r\n  content: "=";\r\n}\r\n\r\n/* resizer (touch device) */\r\n.fc-time-grid-event.fc-selected .fc-resizer {\r\n  /* 10x10 dot */\r\n  border-radius: 5px;\r\n  border-width: 1px;\r\n  width: 8px;\r\n  height: 8px;\r\n  border-style: solid;\r\n  border-color: inherit;\r\n  background: #fff;\r\n  /* horizontally center */\r\n  left: 50%;\r\n  margin-left: -5px;\r\n  /* center on the bottom edge */\r\n  bottom: -5px;\r\n}\r\n\r\n/* Now Indicator\r\n  --------------------------------------------------------------------------------------------------*/\r\n.fc-time-grid .fc-now-indicator-line {\r\n  border-top-width: 1px;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n/* arrow on axis */\r\n.fc-time-grid .fc-now-indicator-arrow {\r\n  margin-top: -5px;\r\n  /* vertically center on top coordinate */\r\n}\r\n\r\n.fc-ltr .fc-time-grid .fc-now-indicator-arrow {\r\n  left: 0;\r\n  /* triangle pointing right... */\r\n  border-width: 5px 0 5px 6px;\r\n  border-top-color: transparent;\r\n  border-bottom-color: transparent;\r\n}\r\n\r\n.fc-rtl .fc-time-grid .fc-now-indicator-arrow {\r\n  right: 0;\r\n  /* triangle pointing left... */\r\n  border-width: 5px 6px 5px 0;\r\n  border-top-color: transparent;\r\n  border-bottom-color: transparent;\r\n}\r\n\r\n/* List View\r\n  --------------------------------------------------------------------------------------------------*/\r\n/* possibly reusable */\r\n.fc-event-dot {\r\n  display: inline-block;\r\n  width: 10px;\r\n  height: 10px;\r\n  border-radius: 5px;\r\n}\r\n\r\n/* view wrapper */\r\n.fc-rtl .fc-list-view {\r\n  direction: rtl;\r\n  /* unlike core views, leverage browser RTL */\r\n}\r\n\r\n.fc-list-view {\r\n  border-width: 1px;\r\n  border-style: solid;\r\n}\r\n\r\n/* table resets */\r\n.fc .fc-list-table {\r\n  table-layout: auto;\r\n  /* for shrinkwrapping cell content */\r\n}\r\n\r\n.fc-list-table td {\r\n  border-width: 1px 0 0;\r\n  padding: 8px 14px;\r\n}\r\n\r\n.fc-list-table tr:first-child td {\r\n  border-top-width: 0;\r\n}\r\n\r\n/* day headings with the list */\r\n.fc-list-heading {\r\n  border-bottom-width: 1px;\r\n}\r\n\r\n.fc-list-heading td {\r\n  font-weight: bold;\r\n}\r\n\r\n.fc-ltr .fc-list-heading-main {\r\n  float: left;\r\n}\r\n\r\n.fc-ltr .fc-list-heading-alt {\r\n  float: right;\r\n}\r\n\r\n.fc-rtl .fc-list-heading-main {\r\n  float: right;\r\n}\r\n\r\n.fc-rtl .fc-list-heading-alt {\r\n  float: left;\r\n}\r\n\r\n/* event list items */\r\n.fc-list-item.fc-has-url {\r\n  cursor: pointer;\r\n  /* whole row will be clickable */\r\n}\r\n\r\n.fc-list-item-marker,\r\n.fc-list-item-time {\r\n  white-space: nowrap;\r\n  width: 1px;\r\n}\r\n\r\n/* make the dot closer to the event title */\r\n.fc-ltr .fc-list-item-marker {\r\n  padding-right: 0;\r\n}\r\n\r\n.fc-rtl .fc-list-item-marker {\r\n  padding-left: 0;\r\n}\r\n\r\n.fc-list-item-title a {\r\n  /* every event title cell has an <a> tag */\r\n  text-decoration: none;\r\n  color: inherit;\r\n}\r\n\r\n.fc-list-item-title a[href]:hover {\r\n  /* hover effect only on titles with hrefs */\r\n  text-decoration: underline;\r\n}\r\n\r\n/* message when no events */\r\n.fc-list-empty-wrap2 {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n}\r\n\r\n.fc-list-empty-wrap1 {\r\n  width: 100%;\r\n  height: 100%;\r\n  display: table;\r\n}\r\n\r\n.fc-list-empty {\r\n  display: table-cell;\r\n  vertical-align: middle;\r\n  text-align: center;\r\n}\r\n\r\n.fc-unthemed .fc-list-empty {\r\n  /* theme will provide own background */\r\n  background-color: #eee;\r\n}\r\n', ""])
    }, function (t, e, n) {
        "use strict";
        var r, i = {}, o = function () {
            return void 0 === r && (r = Boolean(window && document && document.all && !window.atob)), r
        }, s = function () {
            var t = {};
            return function (e) {
                if (void 0 === t[e]) {
                    var n = document.querySelector(e);
                    if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try {
                        n = n.contentDocument.head
                    } catch (t) {
                        n = null
                    }
                    t[e] = n
                }
                return t[e]
            }
        }();

        function a(t, e) {
            for (var n = [], r = {}, i = 0; i < t.length; i++) {
                var o = t[i], s = e.base ? o[0] + e.base : o[0], a = {css: o[1], media: o[2], sourceMap: o[3]};
                r[s] ? r[s].parts.push(a) : n.push(r[s] = {id: s, parts: [a]})
            }
            return n
        }

        function l(t, e) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n], o = i[r.id], s = 0;
                if (o) {
                    for (o.refs++; s < o.parts.length; s++) o.parts[s](r.parts[s]);
                    for (; s < r.parts.length; s++) o.parts.push(v(r.parts[s], e))
                } else {
                    for (var a = []; s < r.parts.length; s++) a.push(v(r.parts[s], e));
                    i[r.id] = {id: r.id, refs: 1, parts: a}
                }
            }
        }

        function c(t) {
            var e = document.createElement("style");
            if (void 0 === t.attributes.nonce) {
                var r = n.nc;
                r && (t.attributes.nonce = r)
            }
            if (Object.keys(t.attributes).forEach((function (n) {
                e.setAttribute(n, t.attributes[n])
            })), "function" == typeof t.insert) t.insert(e); else {
                var i = s(t.insert || "head");
                if (!i) throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
                i.appendChild(e)
            }
            return e
        }

        var d, u = (d = [], function (t, e) {
            return d[t] = e, d.filter(Boolean).join("\n")
        });

        function h(t, e, n, r) {
            var i = n ? "" : r.css;
            if (t.styleSheet) t.styleSheet.cssText = u(e, i); else {
                var o = document.createTextNode(i), s = t.childNodes;
                s[e] && t.removeChild(s[e]), s.length ? t.insertBefore(o, s[e]) : t.appendChild(o)
            }
        }

        function f(t, e, n) {
            var r = n.css, i = n.media, o = n.sourceMap;
            if (i && t.setAttribute("media", i), o && btoa && (r += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))), " */")), t.styleSheet) t.styleSheet.cssText = r; else {
                for (; t.firstChild;) t.removeChild(t.firstChild);
                t.appendChild(document.createTextNode(r))
            }
        }

        var p = null, g = 0;

        function v(t, e) {
            var n, r, i;
            if (e.singleton) {
                var o = g++;
                n = p || (p = c(e)), r = h.bind(null, n, o, !1), i = h.bind(null, n, o, !0)
            } else n = c(e), r = f.bind(null, n, e), i = function () {
                !function (t) {
                    if (null === t.parentNode) return !1;
                    t.parentNode.removeChild(t)
                }(n)
            };
            return r(t), function (e) {
                if (e) {
                    if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return;
                    r(t = e)
                } else i()
            }
        }

        t.exports = function (t, e) {
            (e = e || {}).attributes = "object" == typeof e.attributes ? e.attributes : {}, e.singleton || "boolean" == typeof e.singleton || (e.singleton = o());
            var n = a(t, e);
            return l(n, e), function (t) {
                for (var r = [], o = 0; o < n.length; o++) {
                    var s = n[o], c = i[s.id];
                    c && (c.refs--, r.push(c))
                }
                t && l(a(t, e), e);
                for (var d = 0; d < r.length; d++) {
                    var u = r[d];
                    if (0 === u.refs) {
                        for (var h = 0; h < u.parts.length; h++) u.parts[h]();
                        delete i[u.id]
                    }
                }
            }
        }
    }]).default
}));